Valore di restituzione dell’operazione di assegnazione in java

Ho incontrato una dichiarazione in Java

while ((line = reader.readLine()) != null) { out.append(line); } 

In che modo le operazioni di assegnazione restituiscono valore in Java? Poiché la dichiarazione che stiamo verificando è line=reader.readLine() e la confronta con null . Perché readLine restituirà stringa, in che modo stiamo verificando esattamente null ?

L’operatore di assegnazione in Java restituisce il valore assegnato (come fa, ad es. In c ). Quindi qui, readLine() verrà eseguito, ed è il valore di ritorno memorizzato in line . Tale valore viene quindi verificato rispetto a null e, se è null , il ciclo terminerà.

(line = reader.readLine ())! = null

si intende

  1. il metodo readLine () è invocato.
  2. il risultato è assegnato alla linea variabile,
  3. il nuovo valore della linea sarà a prova di nulla

forse molte operazioni contemporaneamente …

Le espressioni di assegnazione sono valutate al loro valore di assegnazione.

 (test = read.readLine()) 

>>

 (test = <>) 

>>

 <> 

reader.readLine() legge e restituisce una linea per te. Qui, hai assegnato qualsiasi cosa restituito da quello alla linea e controlla se la variabile di riga è nullo o no.