在Java 9中,我们如何创建一个不可修改的列表?

2023年 8月 28日 45.8k 0

在Java 9中,我们如何创建一个不可修改的列表?

使用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)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论