Sto implementando un'interfaccia con funzionalità simili a una tabella che può contenere tipi di oggetti. L'interfaccia specifica la seguente funzione:Come si converte Double [] in double []?
double[] getDoubles(int columnIndex);
Dove stumped è che nel mio attuazione, sto memorizzare i dati della tabella in un array 2D Object
(Object[][] data
). Quando ho bisogno di restituire i valori, voglio fare il seguente (si presume che getDoubles()
sarà chiamato solo su una colonna che contiene doppie, quindi non ci sarà alcun ClassCastExceptions
):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
Ma - Java doesn consentire di trasmettere Object[]
a double[]
. Trasmetterlo a Double[]
è ok perché Double
è un oggetto e non un primitivo, ma la mia interfaccia specifica che i dati verranno restituiti come double[]
.
Così ho due domande:
- C'è un modo per ottenere i dati della colonna fuori dal tavolo
Object[][]
e restituire la matrice di primitive? - Se cambio l'interfaccia per restituire
Double[]
, ci sarà un impatto sulle prestazioni?
Perché è necessario disporre di dati come oggetto [] []? – notnoop
La tabella può memorizzare qualsiasi tipo di dati: stringhe, doppi, numeri interi, altri tipi, ecc. – Brian
Quindi, come si può assicurare che l'array sul columnIndex contenga solo il doppio/doppio? – notnoop