1.equals在比较字符串类型和引用数据类型时先比较地址,然后比较值。
2.==号在比较基本数据类型时比较的是值是否相等,在比较引用数据类型时比较的时地址是否相等。
String str = new String("haha");
String str2 = new String("haha");
System.out.println(str == str2);flase
String str3 = "hello";
String str4 = "hello";
System.out.println(str3 == str4);true
本文探讨了Java中equals方法和==运算符在比较字符串和引用数据类型时的不同行为。对于字符串,当使用new关键字创建时,即使内容相同,两个对象的引用也不相等;而对于直接赋值的字符串常量,由于它们在字符串池中共享,所以引用相等。
8万+

被折叠的 条评论
为什么被折叠?



