Je me suis mise en œuvre d'une interface qui possède des fonctionnalités similaires à un tableau qui peut contenir un des types d'objets. L'interface spécifie la fonction suivante:
double[] getDoubles(int columnIndex);
Là où je suis perplexe, c'est que dans mon application, je suis stocker les données d'une table dans un 2D Object
tableau (Object[][] data
). Quand j'ai besoin de retourner la valeur, je veux faire la chose suivante (on suppose que getDoubles() sera appelée uniquement sur une colonne qui contient des doubles, donc il n'y aura pas de ClassCastExceptions):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
Mais Java n'autorise pas l'Objet[] d'être jeté à double[]. Moulage Double[] est ok, car Double
est un objet et non primitive, mais mon interface spécifie que les données seront retournées comme un double[]
.
J'ai donc deux questions:
- Est-il possible que je puisse obtenir les données de la colonne de l'Objet[][] table et retourner le tableau de primitives?
- Si je ne la modification de l'interface à Double[], il n'y aura aucune incidence sur les performances?