250 字
1 分钟
equals方法和==的区别
2025-08-22
统计加载中...

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;
}
equals方法和==的区别
https://blog.ekubo.me/posts/1/
作者
小酒窝
发布于
2025-08-22
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时