比较字符串--”==“和 .equals()方法
字符串比较有两种方法:
1.比较运算符:==
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1 == str2); // 输出: false
new创建的对象是存储在堆内存中,字符串本质是字符数组,字符串名字记录指向堆内存的地址,因此str1 == str2
比较的是两个指向的堆内存地址是否一样。
String str1 = new String("hello");
String str2 = str1;
System.out.println(str1 == str2); // 输出: true
2.java的string类中的方法.equals()
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1.equals(str2)); // 输出: true
.equals()方法比较字符串内容,相比”==“ 根据地址进行比较,该方法是对字符串内容比较,两者差别很大。
但是object类中的equals方法的默认功能是比较两个对象的地址是否相同。