1.官方Feature

269: Convenience Factory Methods for Collections


2.产生背景

要创建一个只读、不可改变的集合,必须构造和分配它,然后添加元素,最后包装成一个不可修改的集合。

比如:

 
java9新特性-12-集合工厂方法:快速创建只读集合-LMLPHP
 

缺点:我们一下写了五行。即:它不能表达为单个表达式。

当然,我们也可以稍微简单点处理:

 
java9新特性-12-集合工厂方法:快速创建只读集合-LMLPHP
 

3.使用说明

Java9因此引入了方便的方法,这使得类似的事情更容易表达。

 
java9新特性-12-集合工厂方法:快速创建只读集合-LMLPHP
 

List firsnamesList= List.of(“Joe”,”Bob”,”Bill”);

调用集合中静态方法of(),可以将不同数量的参数传输到此工厂方法中。此功能可用于Set和List,也可用于Map的类似形式。此时得到的集合,是不可变的:在创建后,继续添加元素到这些集合会导致 “UnsupportedOperationException” 。

由于Java 8中接口方法的实现,可以直接在List,Set和Map的接口内定义这些方法,便于调用。


4.使用举例

 
java9新特性-12-集合工厂方法:快速创建只读集合-LMLPHP
 
 

作者:尚硅谷面试官宋红康
链接:https://www.jianshu.com/p/9660482286d4
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
05-28 16:24