Java面向对象编程 -9.2

字符串的比较
字符串的相等判断 也可以使用“==”进行判断 只不过判断的不准确而已。

此时的比较并没有成功,所以发现,虽然两个字符串对象的内容是相同的,但是“==”也无法得到准确的相等判断。
(在开发中 看起来相等的也未必是同一个对象)
实现准确的字符串相等判断 要使用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
	}
}

原文地址:https://www.cnblogs.com/sakura579/p/12504648.html