您的#4可能会写得更短一些:
final List<B> list4 = Arrays.stream(array) .map(a -> new B(a.getIntValue(), a.getStringValue())) .collect(toCollection(() -> new ArrayList<>(array.length)));
您还可以使用单独的方法提取映射:
final List<B> list4 = Arrays.stream(array) .map(SomeClass::mapA2B) .collect(toCollection(() -> new ArrayList<>(array.length)));private static B mapA2B(A a) { return new B(a.getIntValue(), a.getStringValue());}

![将数组A []转换为ArrayList的有效和最短方法 **** 将数组A []转换为ArrayList的有效和最短方法 ****](http://www.mshxw.com/aiimages/31/454978.png)
