第五章。常用类和异常处理
这章我就说一下equals和==的区别吧,equals()方法用于判断一个对象是否等于另一个对象,实际上是比较两个引用是否指向同一个对象,其方法源代码:
public boolean equals(Object obj){
return (this==obj);
} 有很多java类都重写了这个方法,如String(StringBuffer没有重写)、基本类型的包装类等。重写了这个方法,通常是比较两个对象的内容是否相同。
“==”用来比较两个运算对象是否相等,这里的运算对象可以是基本类型和引用类型。如果是引用类型则比较两个对象的引用对象是否指向同一个内存地址。如“==”用于String对象是比较是否同一个串对象,当要比较两个字符串是否相等时,应该使用equals()。
hashCode()方法是根据对象的状态来计算出一个整型值,用于Hash表中,通常子类都会重写这个方法,应保证a.equals(b)=true;同时a.hashCode()==b.hashCode(),即重写equals()方法时应同时重写hashCode()方法。