添加到地图时如何将双数组装箱到双数组?

How to box double array to Double array when adding to Map?

我要补一个HashMap<Integer,Double[]>

Map<Integer,Double[]> cached_weights = new HashMap<Integer,Double[]>();

只有常规 intdouble[],最好的方法是什么?

我看到了 this question,但它回答了相反的问题。

对于key(​​Integer),编译器会自动为你处理,你可以直接传递一个int值。

对于布尔数组,你可以这样处理 Java 8

Map<Integer, Double[]> foo = new HashMap<Integer, Double[]>();
double[] bar = new double[10];
//As you can see, 1 is passed directly and will be converted to Integer object.
foo.put(1, Arrays.stream(bar)
            .boxed()
            .toArray(Double[]::new));

DoubleStreamboxed 方法 returns 由该流的元素组成的 Stream,装箱到 Double。

然后你会得到一个 Stream,你可以在上面轻松调用 toArray 以转换为 Double[]