Java 11 - 集合到数组


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

老方法

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

新方法

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

考虑以下示例 -

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