1.equals 和 ==
== 用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型, 如果两个值相同, 则结果为 true
而在比较引用时, 如果引用指向内存中的同一对象, 结果为 true;
equals() 作为方法, 实现对象的比较. 由于 == 运算符不允许我们进行覆盖, 也就是说它限制了我们的表达.
因此我们复写 equals() 方法, 达到比较对象内容是否相同的目的. 而这些通过 == 运算符是做不到的.
2.object 类的 equals() 方法的比较规则为: 如果两个对象的类型一致, 并且内容一致, 则返回 true, 这些类有:
java.io.file,java.util.Date,java.lang.string, 包装类 (Integer,Double 等)
- String s1=new String("abc");
- String s2=new String("abc");
- System.out.println(s1==s2);
- System.out.println(s1.equals(s2));
运行结果为 false true
来源: http://www.bubuko.com/infodetail-3213844.html