如果你想前面一个为true,你应该这么写:System.out.println(s2。equals(s3));
因为,s2和s3是两个不同的对象,只不过存着同样的值而已,== 比较的对象的应用
很明显,他们是两个对象,所以不等。而比较对象的值使用equals方法,所以换为equals方法比较结果就会变成true;
String s1="a";
String s2=s1+"b";
其实s2的创建过程含有自动装箱和拆箱过程,对象和字符不能直接相加的,所以先将s1对象拆箱变成字符串,然后和“b”相加,再装箱成为一个对象,这也是s2和s3是两个不同对象的原因。 |