Wie konvertiere ich Double [] nach Double []?
Ich implementiere eine Schnittstelle, deren Funktionalität einer Tabelle ähnelt, die verschiedene Objekttypen enthalten kann. Die Schnittstelle gibt die folgende Funktion an:
double[] getDoubles(int columnIndex);
Ich bin erstaunt, dass ich in meiner Implementierung die Tabellendaten in einer 2D-Datei speichereObject
Array (Object[][] data
). Wenn ich die Werte zurückgeben muss, möchte ich Folgendes tun (es wird davon ausgegangen, dassgetDoubles()
wird nur für eine Spalte aufgerufen, die Doubles enthält, also wird es keine gebenClassCastExceptions
):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
Aber - Java erlaubt es nichtObject[]
gegossen werdendouble[]
. Casting es zuDouble[]
ist ok weilDouble
ist ein Objekt und kein Grundelement, aber meine Schnittstelle gibt an, dass Daten als a zurückgegeben werdendouble[]
.
Ich habe also zwei Fragen:
Kann ich die Spaltendaten auf irgendeine Weise aus derObject[][]
Tabelle und das Array von Primitiven zurückgeben?Wenn ich die Schnittstelle ändere, um zurückzukehrenDouble[]
, wird die Leistung beeinträchtigt?