的,我需要我的列表轉換:如何獲得一個數組[]我的鏈表
List<Double> listFoo = new LinkedList<Double>();
到雙A排列。所以,我想:
double[] foo = listFoo.toArray();
但我得到的錯誤:
Type mismatch: cannot convert from Object[] to double[]
我怎樣才能避免這種情況?我可以遍歷列表並逐步創建數組,但我不想這樣做。
的,我需要我的列表轉換:如何獲得一個數組[]我的鏈表
List<Double> listFoo = new LinkedList<Double>();
到雙A排列。所以,我想:
double[] foo = listFoo.toArray();
但我得到的錯誤:
Type mismatch: cannot convert from Object[] to double[]
我怎樣才能避免這種情況?我可以遍歷列表並逐步創建數組,但我不想這樣做。
您不能使用標準List類的toArray()方法創建基元數組。您可以做的最好做法是使用通用方法toArray(T[])製作Double []。
Double[] foo = listFoo.toArray(new Double[ listFoo.size() ]);
一個簡單的方法來使一個雙[]是使用Guava's Doubles class。
double[] foo = Doubles.toArray(listFoo);
你需要做的,通用的一個
Double[] foo = listFoo.toArray(new Double[listFoo.size()]);
這將是最快的方式。
使用new Double[listFoo.size()]
(具有數組大小),您將重用該對象(通常用於對方法toArray
進行通用調用)。
謝謝你這是工作:) – user2440550
它應該工作,如果您使foo
一個Doubles
而不是doubles
(一個是一個類,另一個是原始類型)的數組。
http://stackoverflow.com/questions/960431/how-to-convert-listinteger-to-int-in-java –
http://stackoverflow.com/questions/395030/quick-java-question-casting -an-array-of-objects-into-an-array-of-my-cl-cl –