Voiko metodista palauttaa esim. kolme kaksiulotteista int-taulukkoa muuten kuin sijoittaa ne ensin 3-uloitteeseen taulukkoon ja palauttaa sitten se pääohjelmaan? Jos ei onnistu muuten, niin miten sitten olisi kätevintä purkaa 3-ulotteinen taulukko takaisin 2-uloitteisiksi pääohjelmassa? Joutuuko käymään kaikki alkiot läpi for-silmukalla? Alla oleva olisi kätevä, mutta ei toimi:
int[][][] taulukko1 = haeMetodista(); //metodista
int[][] taulukko2 = taulukko1[0][][];
int[][] taulukko3 = taulukko1[1][][];
int[][] taulukko4 = taulukko1[2][][];
int[][][] taulukko1 = haeMetodista(); //metodista
int[][] taulukko2 = taulukko1[0][][];
int[][] taulukko3 = taulukko1[1][][];
int[][] taulukko4 = taulukko1[2][][];
Vastaukset 1
Vanhimmat
int[]-taulukon alkioina voi olla int-lukuja, ei int[]-taulukoita. Palauta taulukot vaikka Vectorissa.
Vector taulukot = haeMetodista();
int[][] taulukko1 = (int[][])taulukot.get(0);
int[][] taulukko2 = (int[][])taulukot.get(1);
int[][] taulukko3 = (int[][])taulukot.get(2);