对于全部对象都通用的方法(equals)

对于所有对象都通用的方法(equals)1.在改写equals的时候请遵守通用约定。1)一个类的每个实例本质上都是惟一

对于所有对象都通用的方法(equals)
1.在改写equals的时候请遵守通用约定。
  1)一个类的每个实例本质上都是惟一的。
  2)不关心一个类是否提供了“逻辑相等”的测试功能。
  3)超类改写了equals,从超类继承过来的行为对于子类也是合适的。

public class CaseInsentiveString {private String s;public CaseInsentiveString(String s) {this.s = s;}@Overridepublic boolean equals(Object o) {return o instanceof CaseInsentiveString&&s.equalsIgnoreCase(((CaseInsentiveString)o).s);}public static void main(String []args){CaseInsentiveString cis=new CaseInsentiveString("HelloWorld");CaseInsentiveString cis2=new CaseInsentiveString("Helloworld");String str="HelloWorld";System.out.println(cis.equals(str)); //falseSystem.out.println(cis.equals(cis2));//true}}