Ho una domanda sui valori booleani in Java. Diciamo che ho un programma come questo:Cambia valori booleani?
boolean test = false;
...
foo(test)
foo2(test)
foo(Boolean test){
test = true;
}
foo2(Boolean test){
if(test)
//Doesn't go in here
}
Ho notato che in foo2, il test booleano non cambia e quindi non va in l'istruzione if. Come farei allora a cambiarlo? Ho esaminato i valori booleani ma non sono riuscito a trovare una funzione che avrebbe "impostato" il test da vero a falso. Se qualcuno potesse aiutarmi sarebbe fantastico.
Java è passato per valore. Rendi la variabile una variabile di istanza e modificala e controllala. –
@SotiriosDelimanolis Sì. Ma il valore di un java.lang.Object (e sottotipi, cioè qualsiasi tipo non primitivo) è l'indirizzo di riferimento. –
@ElliottFrisch Non vedo dove arriva _but_ –