读书人

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

发布时间: 2012-11-11 10:07:57 作者: rapoo

对于所有对象都通用的方法(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}}

读书人网 >编程

热点推荐