- public class StringTest2 {
- public static void main(String[] args) {
- String str1 = "abc";
- String str2 = new String("abc"); //问题在这里,new的意思是再创建一个对象,
- //String类型为引用数据类型,所以引用了内存中的一个新地址.
- System.out.println(str1.hashCode()); //96354
- System.out.println(str2.hashCode()); //96354
- System.out.println(str1==str2);//false,不明白的地方
- System.out.println(str1.equals(str2));//true
-
- }
- }
复制代码 == 运算符,对于基本数据类型,比较的是值,对于引用数据类型,比较的是地址值
String 属于引用数据类型,两个对象的对址也不同,所以 /false |