老师:equals 和 == 底层究竟是什么原理啊?有点不懂,能不能解答一下啊?感谢感谢。
来源:2-6 使用泛型
天街
2018-07-01
equals方法的底层实现原理
写回答
1回答
-
liuyubobobo
2018-07-01
属于Java语法的问题:)
== 判断的是两个对象引用是否指向同一个对象。
可以尝试一下:
Integer a = new Integer(666); Integer b = new Integer(666); System.out.println(a == b);
输出的结果是 false,即使 a 和 b 的值都是 666。
但是,下面的语句会输出true,因为equals是“值判断”,a和b的值相等。
System.out.println(a.equals(b));
尝试下面的语句,也会输出 true,因为我们新建立的 c 和 a 指向同一个内存,引用判断的结果为 true。
Integer c = a; System.out.println(a == c);
:)
032018-07-01
相似问题