gpt4 book ai didi

java - 为什么在 Set/List/Map 中包装元素的方法在名称中包含 'singleton'?(java.util.Collections)

转载 作者:行者123 更新时间:2023-11-29 10:13:33 25 4
gpt4 key购买 nike

我知道如果我有元素并且我只想获取包含每个元素的 List/Set/Map 我应该调用:

Collections.singleton()/Collections.singletonList()/Collections.singletonMap()

我不明白为什么所有这些方法的名称中都包含 singleton

我假设它可能为同一个对象返回同一个集合,但这个测试表明它是错误的

        Object o = new Object();
System.out.println(Collections.singleton(o) == Collections.singleton(o));

输出:错误

对我来说,单例模式禁止创建多个具体类型的元素,并为访问该对象提供了统一的网关。

请澄清。

最佳答案

这是“单例”一词的不同含义 - 它不是“单例模式”,而是“从单个项目创建集合”,仅此而已。

例如,来自define:singleton :

a single person or thing of the kind under consideration.

这样想:“单例”是“一件事”,“成对”是“两件事”。因此,以相同的方式使用 Collections.pair(T t1, T t2) 并不是完全不自然的。

关于java - 为什么在 Set/List/Map 中包装元素的方法在名称中包含 'singleton'?(java.util.Collections),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25216742/

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