-
eq其实就是Java中的==,比较对象的内存地址
-
==,比较地址中的内容,类似于equals方法,并进行了非空判断,防止空指针异常。
-
a.equals(b),相比==,少了非空判断,很少使用
通过反编译后清晰明了:
// 用eq其实才是Java中的==,比较对象的内存地址
public void main(final String[] args) {
String a = new String("abc");
String b = new String("abc");
.MODULE$.println(BoxesRunTime.boxToBoolean(a == b));
}
// 用==,比较地址中的内容,类似于equals方法,并进行了非空判断,防止空指针异常
String a = new String("abc");
String b = new String("abc");
var10000 = .MODULE$;
if (a == null) {
if (b == null) {
break label16;
}
} else if (a.equals(b)) {
break label16;
}
// 用a.equals(b),相比==,少了非空判断,很少使用
public void main(final String[] args) {
String a = new String("abc");
String b = new String("abc");
.MODULE$.println(BoxesRunTime.boxToBoolean(a.equals(b)));
}
用博客见证成长,用行动证明我在努力。
如果你有缘看到我博客,对你有帮助、喜欢博客内容,请“点赞” “评论”“收藏”
一键三连哦!