使用List.of()方法创建的列表实例具有以下特点。
- 工厂方法返回的列表通常是不可变的。这意味着无法从列表中添加、删除或替换元素。对列表调用任何修改器方法会引发UnsupportedOperationException。
- 如果列表的包含元素是可变的,可能会导致列表的内容发生变化。
- 可以使用不允许null元素的静态工厂方法创建不可变列表。如果尝试使用null元素创建列表,会抛出NullPointerException。
- 如果所有元素都是可序列化的,则不可修改的列表是可序列化的。
- 列表中元素的顺序与提供的参数的顺序或提供的数组中元素的顺序相同。
语法
List.of(E... elements)
登录后复制
Example
的中文翻译为:
示例
import java.util.List;
public class UnmodifiedListTest {
public static void main(String[] args) {
List countries = List.of("India", "Australia", "England", "Newzealand");
System.out.println("Countries - " + countries);
countries.add("Srilanka"); // throws UnsupportedOperationException
}
}
登录后复制
输出
Countries - [India, Australia, England, Newzealand]
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(Unknown Source)
at UnmodifiedListTest.main(UnmodifiedListTest.java:7)
登录后复制
以上就是在Java 9中,我们如何创建一个不可修改的列表?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!