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 次 |
| 最近记录: |