gpt4 book ai didi

java - 在 `equals(T value)` 中,T 必须是 Object,还是可以像 City 等?

转载 作者:行者123 更新时间:2023-12-03 22:58:35 26 4
gpt4 key购买 nike

我试图更好地理解 equals() 方法。我见过的所有例子都是这样的:

public class City
{
public boolean equals(Object other)
{
if (other instanceof City && other.getId().equals(this.id))
{
return true;
}

// ...
}
}

该方法必须接受对象而不是城市吗?

例如下面是不允许的吗?

public class City
{
public boolean equals(City other)
{
if (other == null)
{
return false;
}

return this.id.equals(other.getId());
}
}

最佳答案

是的,它必须是一个对象。否则你不会覆盖真实的 Object#equals() ,而是重载它。

如果您只是重载它,那么它不会被标准 API 使用,例如 Collection API

相关问题:

关于java - 在 `equals(T value)` 中,T 必须是 Object,还是可以像 City 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3272313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com