Amy*_*y B 2 java equals referenceequals
我想要equals()
更好地理解这个方法.我见过的所有例子都是这样的:
public class City
{
public boolean equals(Object other)
{
if (other instanceof City && other.getId().equals(this.id))
{
return true;
}
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
该方法必须采用对象而不是城市吗?
例如下面不允许这个?
public class City
{
public boolean equals(City other)
{
if (other == null)
{
return false;
}
return this.id.equals(other.getId());
}
}
Run Code Online (Sandbox Code Playgroud)
是的,它必须是一个Object
.否则你没有覆盖的现实 Object#equals()
,而是超载了.
如果您只是重载它,那么它将不会被标准API(如Collection API等)使用.
归档时间: |
|
查看次数: |
111 次 |
最近记录: |