问题:
StringBuffer str1=new StringBuffer("java");StringBuffer str2=new StringBuffer("java");System.out.println( str1.equals(str2) ); 为什么返回false?
回答:
StringBuffer 本身没有equals方法,因为StringBuffer继承object,你使用的equals方法是object的。
比较的是两个对象,对于任何非空引用值str1 和 str2,当且仅当str1 和 str2 引用同一个对象时,此方法才返回 true
Object类的equals等价于==(判断是否是同一个对象)
探讨了StringBuffer类中equals方法的实现方式及其实质。解释了为何使用equals方法比较两个StringBuffer实例会返回false,即使它们包含相同的字符序列。这是因为StringBuffer继承自Object类,其equals方法实际上比较的是对象引用,而非对象的内容。
1861

被折叠的 条评论
为什么被折叠?



