2016-01-11 3 views

ответ

2

Это один вкладыш (довольно некрасиво, хотя):

double[][] d = {{1,2},{3,4},{5,6}}; 
double[][] e = Arrays.stream(d).map(double[]::clone).toArray(double[][]::new); 
System.out.println(Arrays.deepToString(e)); 
// [[1, 2], [3, 4], [5, 6]] 

Alternate (запасной вариант) Решение:

double[][] e = Arrays.stream(d).map(a -> (double[])a.clone()).toArray(double[][]::new); 
+0

Sweet - это прекрасно. Благодаря! – Ole

+0

Хммм - Получение ошибки: Описание \t \t Resource Path \t \t Расположение Тип Способ отображения (функции <супер двойной [] ,? расширяет R?>) В типе потока не применяется для аргументов (двойной []: : clone) \t ArrayMatrix.java \t/firefly-math-linear-real/src/main/java/com/fireflysemantics/math/linear/matrix \t строка 78 \t Проблема Java – Ole

+1

@ user1684269 Какую версию java вы используете? Он компилируется и запускается для меня в eclipse luna и хорошо компилируется из командной строки ('java, javac: 1.8.0_66') –

Смежные вопросы