Возвращаемое значение операции присваивания в Java
Я столкнулся с утверждением на Java
while ((line = reader.readLine()) != null) {
out.append(line);
}
Как операции присваивания возвращают значение в Java?
Утверждение, которое мы проверяем, - line = reader.readLine()
, и мы сравниваем его с null
.
Так как readLine
вернет строку, как именно мы проверяем null
?
Ответы
Ответ 1
Оператор присваивания в Java возвращает назначенное значение (как, например, в c). Таким образом, readLine()
будет выполнен, и он вернет значение, сохраненное в line
. Затем это значение проверяется на значение null
, а если оно равно null
, цикл завершается.
Ответ 2
Выражения присваивания оцениваются по их значению присваивания.
(test = read.readLine())
>>
(test = <<return value>>)
>>
<<return value>>
Ответ 3
(line = reader.readLine())! = null
означает
- вызывается метод readLine().
- результат присваивается переменной строке,
- новое значение строки будет доказательством против null
возможно, сразу несколько операций...
Ответ 4
reader.readLine()
читает и возвращает строку для вас. Здесь вы назначили все, что возвращалось из этой строки, и проверяете, является ли строка переменной нулевой или нет.
Ответ 5
Спецификация языка Java® 15.26. Операторы присваивания
Во время выполнения результатом выражения присваивания является значение переменная после назначения.