Object:所有类的爸爸
Object类是java中所有类的始祖。
equals方法
Object类中的equals方法用于检测一个对象是否等于另一个对象,这个方法将判断两个对象是否具有相同的引用,如果两个对象具有相同的引用,它们一定是相等的。
然而,对于大多类来说,需要重写equals方法。
hashCode方法
散列码(hash code)是由对象导出的一个整数值。
String类的hashCode方法:
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}
测试hashCode方法
public static void main(String[] args) {
String s="OK";
StringBuilder sb = new StringBuilder(s);
System.out.println(s.hashCode()+" "+sb.hashCode());
String t = new String("OK");
StringBuilder tb = new StringBuilder(t);
System.out.println(t.hashCode()+" "+tb.hashCode());
}
分析:字符串s,t拥有相同的散列码,这是因为字符串的散列码是由String类的hashCode方法算出的。而StringBuilder对象sb,tb却有着不同的散列码,因为StringBuilder中没有hashCode方法,它的散列值是由Object类的默认hashCode方法计算得到的值
toString方法
此方法用于返回表示对象值的字符串。
通过字符串拼接返回一个字符串。