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
?
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.
Les expressions d'assignation sont évaluées à leur valeur d'assignation.
(test = read.readLine())
>>
(test = <<return value>>)
>>
<<return value>>
(line = reader.readLine ())! = null
veux dire
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.