如果元素重复,为什么Set.of()抛出IllegalArgumentException?

如果元素重复,为什么Set.of()抛出IllegalArgumentException?,第1张

如果元素重复,为什么Set.of()抛出IllegalArgumentException?

对于 给定* 数量的元素,

Set.of()
工厂方法产生不可变
Set
的。
*

在变型的支持的参数固定数量(

static <E> Set<E> of​()
static <E> Set<E> of​(E e1)
static<E> Set<E> of​(E e1,E e2)
,等…),不必重复是容易理解的需求-
当你调用这个方法
Set.of(a,b,c)
,你说明你希望创建一个不变
Set
正是
3个要素,因此,如果参数包含重复项,则拒绝输入而不是产生较小的有意义
Set


尽管

Set<E> of​(E...elements)
变体不同(如果允许创建
Set
任意数量的元素),则其遵循与其他变体相同的逻辑。如果将
n
元素传递给该方法,则说明您希望创建一个不可变
Set

精确
n
元素,因此不允许重复。

您仍然可以使用以下内容

Set
在一个内联代码中
List
(有可能重复)创建一个:

Set<String> set = new HashSet<>(list);

在Java 9之前已经可用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存