字符串的比较
字符串的相等判断 也可以使用“==”进行判断 只不过判断的不准确而已。
此时的比较并没有成功,所以发现,虽然两个字符串对象的内容是相同的,但是“==”也无法得到准确的相等判断。
(在开发中 看起来相等的也未必是同一个对象)
实现准确的字符串相等判断 要使用String类所提供的一个比较方法:public boolean equals(String str)
请解释String比较中“==”与equals()的区别?
- “==”:进行的是数组比较,如果用于对象比较上比较的是两个内存的地址值;刚才那个第二个实例化用 new 肯定开辟了内存空间 地址值不一样
- equals():是类所提供的一个比较方法,可以直接进行字符串内容的判断。
public class name2 {
public static void main(String args[]){
String str1 = "ms";
String str2 = "ms";
String str3 = new String("ms");
System.out.println(str1 == str2); //true
System.out.println(str1 == str3); //false
System.out.println(str1.equals(str2));//true
}
}