Jak przekonwertować Double [] na double []?
Implementuję interfejs, który ma funkcjonalność podobną do tabeli, która może zawierać typy obiektów. Interfejs określa następującą funkcję:
double[] getDoubles(int columnIndex);
Gdzie jestem zakłopotany, to że w mojej implementacji przechowuję dane tabeli w 2DObject
tablica (Object[][] data
). Kiedy muszę zwrócić wartości, chcę wykonać następujące czynności (zakłada się, żegetDoubles()
zostanie wywołany tylko w kolumnie zawierającej dublety, więc nie będzieClassCastExceptions
):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
Ale - Java nie pozwalaObject[]
być obsadzonymdouble[]
. Rzuć to naDouble[]
jest ok, boDouble
jest obiektem, a nie prymitywem, ale mój interfejs określa, że dane zostaną zwrócone jakodouble[]
.
Mam więc dwa pytania:
Czy jest jakiś sposób, aby wyciągnąć dane z kolumnyObject[][]
tabela i zwróć tablicę prymitywów?Jeśli zmienię interfejs, aby powrócićDouble[]
, czy będzie jakiś wpływ na wydajność?