use*_*514 6 java generics object
如何覆盖对象类中的equals方法?
即我有
class Person{
//need to override here
public boolean equals (Object obj){
}
Run Code Online (Sandbox Code Playgroud)
我想将参数obj转换为类型Person,但如果我(Person)obj它将无法工作.
Dan*_*aro 10
它实际上比你想象的要复杂得多.让Eclipse(或你正在使用的任何IDE)自动生成一个equals方法; 在进行比较之前,你会看到它包含一些检查和强制转换.
另见:http://www.javapractices.com/topic/TopicAction.do?Id=17
@Override
public boolean equals(Object o)
{
if (o instanceof Person)
{
Person c = (Person) o;
if ( this.FIELD.equals(c.FIELD) ) //whatever here
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
您可以将其强制转换为方法,只需使用实例确保它是正确的类型
if(obj instanceof Person)
{
Person otherPerson = (Person) obj;
//Rest of the code to check equality
}
else
{
//return false maybe
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27306 次 |
| 最近记录: |