Java 9 引入了一些改进的集合工厂方法,使得创建和初始化集合对象变得更加简洁和方便。这些改进包括 List.of()、Set.of()和 Map.of()等方法,用于创建不可变的集合对象。本教程将介绍 Java 9 改进的集合工厂方法的使用和注意事项。
1. List.of()
List.of()是一个静态方法,用于创建一个不可变的列表。它接受可变数量的参数,并返回一个包含这些参数的列表。
List<String> list = List.of("Apple", "Banana", "Orange");
System.out.println(list); // 输出:[Apple, Banana, Orange]
在上面的示例中,我们使用 List.of()方法创建一个包含三个字符串的不可变列表。
需要注意的是,由于列表是不可变的,所以无法对其进行修改。任何试图修改列表的操作都会抛出 UnsupportedOperationException 异常。
2. Set.of()
Set.of()是一个静态方法,用于创建一个不可变的集合。它接受可变数量的参数,并返回一个包含这些参数的集合。
Set<Integer> set = Set.of(1, 2, 3, 4, 5);
System.out.println(set); // 输出:[1, 2, 3, 4, 5]
在上面的示例中,我们使用 Set.of()方法创建一个包含五个整数的不可变集合。
同样地,由于集合是不可变的,所以无法对其进行修改。任何试图修改集合的操作都会抛出 UnsupportedOperationException 异常。
3. Map.of()
Map.of()是一个静态方法,用于创建一个不可变的映射。它接受一对键值对的参数,并返回一个包含这些键值对的映射。
Map<String, Integer> map = Map.of("Apple", 1, "Banana", 2, "Orange", 3);
System.out.println(map); // 输出:{Apple=1, Banana=2, Orange=3}
在上面的示例中,我们使用 Map.of()方法创建一个包含三个键值对的不可变映射。
同样地,由于映射是不可变的,所以无法对其进行修改。任何试图修改映射的操作都会抛出 UnsupportedOperationException 异常。
4. 注意事项
使用改进的集合工厂方法时,需要注意以下几点:
- 创建的集合对象是不可变的,即不能进行添加、删除或修改操作。
- 方法的参数数量是有限的,具体取决于方法的重载形式。通常情况下,方法接受的参数数量在 1 到 10 之间。
- 如果传递了重复的键或值,则会抛出 IllegalArgumentException 异常。
- 创建的集合对象是原生类型的,而不是它们的子类。例如,List.of()方法返回的是 List 接口的实例,而不是 ArrayList 或 LinkedList 的实例。
结论
Java 9 改进的集合工厂方法提供了一种方便创建不可变集合对象的方式。通过这些方法,可以更加简洁地创建和初始化集合,减少了样板代码的编写,并提供了更好的性能和内存效率。
希望本教程能够帮助你理解和应用 Java 9 的集合工厂方法。祝你在使用集合工厂方法时取得成功!
注意:本文中的示例代码基于 Java 9 版本。
注意:文章如果有错误的地方,烦请各位大佬在评论区指正,或联系作者进行修改,万分感谢!!!
作者:永夜 Evernight
个人博客:luomuren.top
公众号:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于