@Override public boolean equals(Object obj) { return super.equals(obj); } @Override public String toString() { // TODO Auto-generated method stub return super.toString(); } 你说的是这个吗? 这个没有区别,直接返回的是父类的结果,跟不写是一样的
你们用的是什么版本的eclipse? 我生成的是public class Test { Test test; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((test == null) ? 0 : test.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Test other = (Test) obj; if (test == null) { if (other.test != null) return false; } else if (!test.equals(other.test)) return false; return true; } }
@Override
public boolean equals(Object obj) {
return super.equals(obj);
} @Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
你说的是这个吗?
这个没有区别,直接返回的是父类的结果,跟不写是一样的
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((test == null) ? 0 : test.hashCode());
return result;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Test other = (Test) obj;
if (test == null) {
if (other.test != null)
return false;
} else if (!test.equals(other.test))
return false;
return true;
}
}
只是帮你重载了这两个方法,省得你自己写了而已java code是评论那个框上第七个按钮
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Test other = (Test) obj;
if (test == null) {
if (other.test != null)
return false;
} else if (!test.equals(other.test))
return false;
return true;
}
这个?重载??之后的方法和Object的equals方法有什么~功能~上的不同么?
我没找到Object的equals方法的源代码。
public boolean equals(Object obj) {
return this == obj;
}
这是Object中的equals方法