public static void main(String[] args) {
List<StringBuilder> list = // ...
StringBuilder sb = // ...
Set<StringBuilder> set = new HashSet<>(list);
set.add(sb);
System.out.println(set.contains(sb)); // should print true
sb.append("oops");
System.out.println(set.contains(sb)); // should print false
}
替换 ... 的内容,实现第一次打印 true 第二次打印 false,JDK 11 以上环境。
其他备注:
目前只知道从 hashcode 入手,Stringbuilder 不可继承不好弄。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.