例:
String s1=“abc";
String s2=new String ("abc");
S.O.P(s1==s2);
S.O.P(s1.equals(s2));
输出:
false
true
分析:第一个输出,是假,是因为s1和s2是两个对象,不能==,返回是假
第二个输出,是String类复写了Object类中的方法,并具有了自己的独特内容,不再是比较地址,而是用于判断 字符串内容是否相同!
这个例子初学者容易弄不明白,比如我!
另外,s1在内存中只有一个对象,即“abc"
s2有两个对象,new一个,“abc"一个!这是两句话不同的地方! |
|