我知道两个Collection方法都提供对返回列表的只读访问权限,并在修改时抛出异常。
我需要了解两者的用例,以便何时使用singletonList和unmodifiableList。
这可能会帮助我根据用法增加对两者的理解。
答案 0 :(得分:3)
singletonList获取一个项目,并创建一个仅包含该项目的不可变列表。 unmodifiableList获取一个列表,并创建一个引用该列表的不可变列表。它类似于add和addAll之间的区别。一个拿一个项目,一个拿一个包含项目的列表。
因此,如果您有List<...> list
,则singletonList (list).get(0)
会返回list
,但unmodifiableList (list).get(0)
会返回list.get(0)
。前者很少有用。