读书人

“==”与equals()的差异

发布时间: 2012-09-01 09:33:03 作者: rapoo

“==”与equals()的区别

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

?

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

?

当使用关系相等运算符 " == "比较对象时,比较的是对象的引用是否相等,如果对象的引用相同,则比较的结果就是true,否则比较的结果就是false。

?

对象的 equals() 方法:

?

当使用对象的equals() 方法比较对象时,是比较对象的内容(即对象的值)是否相同,而不是比较对象的引用,所以只要两个对象的内容相同,则使用equals()方法比较的结果就是true名否则就是false。


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

?

public class test {

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

?

?

?

读书人网 >编程

热点推荐