web-dev-qa-db-fra.com

Valeur de retour de l'opération d'affectation en Java

J'ai rencontré une déclaration en Java

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

Comment les opérations d'affectation retournent-elles une valeur en Java?

La déclaration que nous vérifions est line = reader.readLine() et nous la comparons à null.

Puisque readLine va retourner une chaîne, comment vérifions-nous exactement null?

20
sunder

L’opérateur d’affectation en Java renvoie la valeur attribuée (comme c’est le cas, par exemple, dans c ). Donc, ici, readLine() sera exécuté et sa valeur de retour sera stockée dans line. Cette valeur est ensuite comparée à null et, si elle est null, la boucle se terminera.

29
Mureinik

Les expressions d'assignation sont évaluées à leur valeur d'assignation.

(test = read.readLine())

>>

(test = <<return value>>)

>>

<<return value>>
6
Drew Beres

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

veux dire 

  1. la méthode readLine () est appelée.
  2. le résultat est affecté à la variable line
  3. la nouvelle valeur de line sera une preuve contre null

peut-être plusieurs opérations à la fois ...

reader.readLine() lit et retourne une ligne pour vous. Ici, vous avez affecté tout ce qui est retourné à cette ligne et vérifiez si la variable de ligne est nulle ou non.

0
nPcomp