gpt4 book ai didi

java - 使用 HashSet 测试遏制

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

我正在用Java编写一个程序,我想在其中使用HashSet(和HashMap)。我无法让 contains (和 containsKey)方法正常工作。我想我必须在某个地方重写一些 equals 方法才能使其工作。这个想法是让下面的代码产生输出:true。关于如何做到这一点有什么想法吗?

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

public class Sets {

public static void main(String args[]){

Set<StringBuilder> wordSet = new HashSet<StringBuilder>();
StringBuilder element = new StringBuilder("Element");
wordSet.add(element);
StringBuilder element2 = new StringBuilder("Element");
System.out.println(wordSet.contains(element2));

}

}

最佳答案

这里不能使用StringBuilder,因为StringBuilder使用引用相等,而不是内容相等。只需使用 String 即可。

(这是有道理的,因为 StringBuilder 是可变的,两个 StringBuilder 可能在某一时刻相等,但后来不相等。这不是编写 StringBuilder 的问题>hashCode()equals 方法,因为 StringBuilder 不是您编写的类,它内置于 Java 中。)

关于java - 使用 HashSet 测试遏制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14861702/

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