Si consideri il seguente frammento di codice in Java. So che la dichiarazione temp[index] = index = 0;
nel seguente frammento di codice è praticamente inaccettabile ma potrebbe essere necessaria in alcune situazioni e quindi è necessario conoscere.Concatenamento dell'assegnazione dell'array in Java
package arraypkg;
final public class Main
{
public static void main(String... args)
{
int[]temp=new int[]{4,3,2,1};
int index = 1;
temp[index] = index = 0;
System.out.println("temp[0] = "+temp[0]);
System.out.println("temp[1] = "+temp[1]);
}
}
visualizza il seguente output sulla console.
temp[0] = 4
temp[1] = 0
Non capisco questa dichiarazione temp[index] = index = 0;
. In che modo temp[1]
contiene 0
? Come si verifica questo incarico?
Cosa ti aspetti che 'temp [1]' sia? –
Penso che sia abbastanza chiaro che si aspetta che 'index' diventi' 0 'rendendo 'temp [index]' equivalente a 'temp [0]' in modo che solo il primo elemento venga modificato. –
Il messaggio Take Home qui dovrebbe essere, non scrivere il codice in questo modo. Conoscere i pezzetti di Java è un'abilità rispettabile, ma per lo più inutile. Codice come questo semplicemente non dovrebbe esistere, e dove viene trovato dovrebbe essere sradicato immediatamente. – rfeak