我正在尝试将Java中的List<Long>转换为double[]

我是这样的

  List<Long> longList = ........;

  int len = longList.size();

  double[] doubleArray = new double[len];

  for (int i = 0; i < len; i++)
     doubleArray[i] = (double) longList.get(i);

我想知道是否可以以更智能的方式(以及如何)实现,因为我正在使用Java-8,所以我看到了使用stream方法进行的一些转换。但是找不到能解决我问题的任何东西。

最佳答案

您确实可以使用流来做到这一点:

double[] result = longList.stream()
                          .mapToDouble(Long::doubleValue)
                          .toArray();

它可能更短更清洁,但您不会获得任何明智的性能。

10-04 23:26