05、Java11 新特性 - 集合转换为数组

Java 11 引入了一种将集合转换为数组的简单方法。

之前的旧方法


nameArray = nameList.toArray(new String[nameList.size()]);

Java11 的 新方法


nameArray = nameList.toArray(String[]::new);

Java11 集合转换为数组 的示例

ApiTester.java


import java.util.Arrays;
import java.util.List;

public class APITester {
   public static void main(String[] args) {		
      List<String> namesList = Arrays.asList("Joe", "Julie");
      // Old way
      String[] names = namesList.toArray(new String[namesList.size()]);
      System.out.println(names.length);
      // New way
      names = namesList.toArray(String[]::new);
      System.out.println(names.length);
   }
}

输出结果为


2
2