加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java的EnumSet是否可变?

发布时间:2020-12-15 04:49:36 所属栏目:Java 来源:网络整理
导读:有没有办法修改EnumSet对象?似乎(例如)EnumSet.add继承自AbstractSet并抛出UnsupportedOperationException. 但看起来EnumSet似乎是可修改的;否则为什么要使用clone()方法,为什么Guava会有Sets.immutableEnumSet()?是否有一种EnumSet的方法逃脱了我的想法?
有没有办法修改EnumSet对象?似乎(例如)EnumSet.add继承自AbstractSet并抛出UnsupportedOperationException.

但看起来EnumSet似乎是可修改的;否则为什么要使用clone()方法,为什么Guava会有Sets.immutableEnumSet()?是否有一种EnumSet的方法逃脱了我的想法?

解决方法

是的EnumSet是可修改的.如果要创建不可变的EnumSet,请转到 immutableSet

>返回包含给定枚举元素的不可变集合实例.在内部,返回的集将由EnumSet支持.
>返回集的迭代顺序遵循枚举的迭代顺序,而不是元素在给定集合中出现的顺序.

Parameters: elements – the elements,all of the same enum type,that the set should contain Returns: an immutable set containing those elements,minus duplicates

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读