Sono relativamente nuovo a java e il passaggio per riferimento senza puntatori mi confonde un po '. Ho scritto una funzione per i compiti che mi richiede di restituire la lunghezza dell'input dell'utente e di assegnare l'input di utilizzo a un array che viene passato, quando il metodo esce dall'array di input dell'utente è perso, cosa c'è di sbagliato.L'array Java viene perso all'uscita dal metodo
public static int readArray(char[] intoArray)
{
char[] capture = captureInputAsCharArray(); //User input comes back as char[]
System.arraycopy(intoArray,0, capture, 0, capture.length);
return capture.length;
}
public static main(String[] args)
{
size = readArray(arrItem7); // item 7
System.out.println(size);
printOneInLine(arrItem7); // prints individual elements of array
}
Dove si dichiara arrItem7? – lc2817
Vedere questo post per capire come gli oggetti Java passano: http://stackoverflow.com/questions/7893492/is-java-really-passing-objects-by-value/7893495#7893495 –
Li sta passando li bene. Li ha solo indietro in 'arraycopy' –