【发布时间】:2015-11-30 06:08:18
【问题描述】:
String s = new String("Abc");
StringBuilder s1 = new StringBuilder("Abc");
System.out.println(s.equals(s1));
输出:假
为什么?谁能解释一下这个?
【问题讨论】:
-
这种行为的主要原因是由于String类的代码中的这一行equals方法:1017 if(anObject instanceof String){ //因此如果传入equals方法的Object必须是instanceOf String只要。否则它总是返回 false。
标签: java string stringbuilder