250 字
1 分钟
equals方法和==的区别
equals方法和==的区别
比较
== 是一个比较运算符
- 如果判断基本类型,判断的是值是否相等
- 如果判断引用类型,判断的是地址是否相等,即判断是不是同一个对象
equals是Object类中的方法
- 只能判断引用类型
- *默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等,比如Integer,String
- 在integer类中重写的equals方法,判断的是值是否相等
- String类中的equals方法判断的是字符串是否匹配(相等)
String类中重写equals方法
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false;}Integer类中重写equals方法
public boolean equals(Object obj) { if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false;}部分信息可能已经过时