gpt4 book ai didi

java - 比较集合内的对象

转载 作者:行者123 更新时间:2023-12-01 07:49:49 26 4
gpt4 key购买 nike

现在我有这个Java代码

import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

public class Dummy {

private String value;

public Dummy(final String value) {
this.value = value;
}

public boolean equals(final Object that) {
return that instanceof Dummy && Objects.equals(value, ((Dummy) that).value);
}

public int hashcode() {
return Objects.hash(value);
}

public static void main(final String... args) {
final Set<Dummy> dummies = new HashSet<>();
dummies.add(new Dummy("toto"));
System.out.println(dummies.contains(new Dummy("toto")));
}
}

输出是“假”,我应该通过仅更改一个字符来将其更改为“真”,但我完全不知道该怎么做......有什么想法吗?谢谢。 :)

最佳答案

hashcode() 不是对象的方法,但 hashCode() 是。

 public int hashcode() {
return Objects.hash(value);
}

应该是

public int hashCode() {
return Objects.hash(value);
}

关于java - 比较集合内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40116542/

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