gpt4 book ai didi

java - 是否有任何原因 EnumMap 和 EnumSet 不可导航

转载 作者:IT老高 更新时间:2023-10-28 20:55:42 27 4
gpt4 key购买 nike

枚举是可比的,这意味着你可以拥有

NavigableSet<AccessMode> modes = new TreeSet<>();
NavigableMap<AccessMode, Object> modeMap = new TreeMap<>();

这些访问时间为 O(ln N)。

Enum 集合的访问时间为 O(1),但不可导航

NavigableSet<AccessMode> modes = EnumSet.noneOf(AccessMode.class); // doesn't compile
NavigableMap<AccessMode, Object> modeMap = new EnumMap<>(AccessMode.class); // doesn't compile

我想知道 Enum 集合是否不可导航(和排序)是否有原因。即我错过了什么吗?

最佳答案

JDK 及其各种 API 缺少许多“显而易见的”功能。为什么这个特殊功能被忽略/忘记了?我们只能猜测。但是您的问题长期以来一直是 Sun/Oracle 的 RFE:

您可以通过评论来支持这些 RFE。请注意,这是 Joshua Bloch 关于该主题的权威回答:

I vaguely recall considering it, but I can't recall whether we explicitly rejected it with good reason. We were running very low on time when I implemented EnumSet and EnumMap, and it's possible that time played a role in our decision

http://comments.gmane.org/gmane.comp.java.jsr.166-concurrency/2158

所以即使是也不得不猜测:-)

关于java - 是否有任何原因 EnumMap 和 EnumSet 不可导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521356/

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