首页 > 编程语言 > 详细

java中判断两个字符串是否相等的问题

时间:2015-01-30 16:51:06      阅读:276      评论:0      收藏:0      [点我收藏+]

我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题。在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写。在java中,用的是equals();

String name = new String("sunzhiyan");
String age =  new String("sunzhiyan");
if(name ==age){
	System.out.print("相等");
}else{
	System.out.print("不相等");
}

 这里输出结果是:不相等,因为new出来的话会申请不同的地址,而==号就是比较他们的地址(java没有指针,假设是地址)

String name = "sunzhiyan";
String age = "sunzhiyan";
if(name.equals(age)){
		System.out.print("相等");
}else{
		System.out.print("不相等");
}

 这里会相等,因为java默认字符串是常量,也就是说a和b的地址(java没有指针,假设是地址)一致

而使用

注意:

equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。

java中判断两个字符串是否相等的问题

原文:http://www.cnblogs.com/sunxun/p/4262429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!