public class Demo1 { public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = new String("hello"); String str4 = new String("hello"); System.out.println("str1==str2?"+(str1==str2)); // true System.out.println("str2==str3?"+(str2==str3)); //false System.out.println("str3==str4?"+(str3==str4)); // false System.out.println("str3.equals(str2)?"+(str3.equals(str4))); //true //是String类重写了Object的equals方法,比较的是两个字符串对象 的内容 是否一致。 // "=="用于比较 引用数据类型数据的时候比较的是两个对象 的内存地址,equals方法默认情况下比较也是两个对象 的内存地址。 } }
运行结果
str1==str2?true
str2==str3?false
str3==str4?false
str3.equals(str2)?true
文字解释:
图解:
比较字符串内容用 equals() , 比较地址用==
交流企鹅:654249738,和自学者交流群:517284938