关于收集的Java教程,声明:
Collections.singleton
是一个静态工厂方法,它返回仅包含指定元素的不可变Set。
为什么Collections.singleton
需要返回不可变的?
答案 0 :(得分:2)
我认为你的问题是'为什么Collections.singleton
方法(列表,集合和地图中有三个)用于返回不可变集合?'
在这种情况下,单例只是一个带有一个元素的集合。因为集合只有一个对象(即单例),所以集合有意义是不可变的:方法的客户端不应该从集合中添加或删除,因为这会破坏合同以存储单个对象