Artem Konovalov Asked:2020-12-27 23:54:36 +0800 CST2020-12-27 23:54:36 +0800 CST 2020-12-27 23:54:36 +0800 CST Collections.unmodifiable* 怎么定义? 772 已知有一个类java.util.Collections,其中有unmodifiable*返回不可变集合的视图方法。现在的问题是如何确定一个集合是不可变的? java 1 个回答 Voted Best Answer post_zeew 2020-12-28T00:40:45+08:002020-12-28T00:40:45+08:00 你几乎找不到任何通用的好的解决方案。 在我看来,拐杖中最不拐杖的是.getClass().isInstance(...): List<String> list = new ArrayList<>(); List<String> unmodifiableList = Collections.unmodifiableList(list); boolean isUnmodifiable = Collections.unmodifiableList(list).getClass().isInstance(unmodifiableList); 更多选择: UnsupportedOperationException添加元素时捕获。但是,在可变集合的情况下,必须在测试后删除该元素。 .getClass().getSimpleName().equals(...).
你几乎找不到任何通用的好的解决方案。
在我看来,拐杖中最不拐杖的是
.getClass().isInstance(...)
:更多选择:
UnsupportedOperationException
添加元素时捕获。但是,在可变集合的情况下,必须在测试后删除该元素。.getClass().getSimpleName().equals(...)
.