public class StringEquals {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String s1=new String("Hello");
String s2=new String("Hello");
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//ture
String s3="Hello";
String s4="Hello";
System.out.println(s3==s4);//true
System.out.println(s3.equals(s4));//true
}
}
String.equals()的使用方法:s1,s2用new String()初始化代表声明了2个对象,在内存里开辟了两块空间,只是内容相同罢了,而s1==s2语句代表内存地址的比较所以输出为false。而s1.equals(s2)语句是对s1和s2内容的比较所以输出为true
s3和s4的内容相同所以当声明s4的时候java会是他直接指向s3的内存地址所以s3,s4内容和地址都相同所以都输出true