每当我使用带有两个不同StringBuffer对象的equals()方法时,我得到的结果为false,但是当我使用带有两个不同String对象的equals()方法时,我得到的结果为true.为什么?
String s=new String("434");
String s1=new String("434");
System.out.println(s.equals(s1));//true
StringBuffer s=new StringBuffer("434");
StringBuffer s1=new StringBuffer("434");
System.out.println(s.equals(s1));//false
Run Code Online (Sandbox Code Playgroud)
Thi*_*Roy 15
StringBuffer不会覆盖equals().因此,调用Object.equals(),它比较对象标识(内存地址).String确实覆盖equals并比较内容.
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |