`
hjj20040849
  • 浏览: 113886 次
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多

可以使用关系相等运算符“==”和对象的equals()方法比较对象,但是在比较对象时,两者是有区别的。

 

 

 

 

关系相等运算符" == " : 

 

 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

 

对象的 equals() 方法:

 

 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

 

 

   ==比较的是2个对象的地址,而equals比较的是2个对象的内容。


下面给个案例,具体结果我就不贴了,大家就自己运行来实践吧,这样比较印象深刻。如果实在不懂的话可以在我的博客留言,我将会为你解答。

 

public class test {

	
	public static void main(String[] args) {
		
		String x = new String("java");	//创建对象x,其值是java
		String y = new String("java");	//创建对象y,其值是java
		
		System.out.println(x == y);		// 使用关系相等比较符比较对象x和y
		System.out.println(x.equals(y));	// 使用关对象的equals()方法比较对象x和y	
		
		String m = "java";	//创建对象m,其值是java
		String n = "java";	//创建对象n,其值是java
		
		System.out.println(m == n);		// 使用关系相等比较符比较对象m和n
		System.out.println(m.equals(n));	// 使用关对象的equals()方法比较对象m和n	
	}
}
 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics