gpt4 book ai didi

java - 在 Java 中设置实例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:49:36 25 4
gpt4 key购买 nike

Java 定义了一个Set 接口(interface),其中contains()定义如下:

Returns true if this set contains the specified element. More formally, returns true if and only if this set contains an element e such that (o==null ? e==null : o.equals(e)).

Collection 接口(interface)定义了contains()如下:

Returns true if this collection contains the specified element. More formally, returns true if and only if this collection contains at least one element e such that (o==null ? e==null : o.equals(e)).

我需要一个 Java“实例集”,其中 contains() 基于 == 而不是 equals()。换句话说,一组硬实例,其中两个不同的对象 A 和 B,其中 A.equals(B) 可以在同一组中共存,因为 A!=B

这样的“实例集”是用 Java 还是在某些公共(public)库中提供的?我找不到任何东西,但可能有人对 SO 了解得更多。如果没有,我会实现它。谢谢。

最佳答案

JRE 中没有直接的“实例集”。

但是有一个IdentityHashMap ,根据您的术语实现“实例映射”。

并且有一个方法叫做Collections.newSetFromMap()它可以从任意 Map 实现中创建一个 Set

因此您可以像这样轻松构建自己的实例集:

Set<MyType> instanceSet = Collections.newSetFromMap(new IdentityHashMap<MyType,Boolean>());

关于java - 在 Java 中设置实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304398/

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