Javaのステートメントに遭遇しました
_while ((line = reader.readLine()) != null) {
out.append(line);
}
_
割り当て操作はどのようにJavaで値を返しますか?
チェックしているステートメントはline = reader.readLine()
で、null
と比較します。
readLine
は文字列を返すので、null
をどのくらい正確にチェックしていますか?
Javaの代入演算子は、割り当てられた値を返します(たとえば、 c のように)。したがって、ここではreadLine()
が実行されます。そして、その戻り値はline
に格納されます。その値はnull
に対してチェックされ、null
である場合、ループは終了します。
割り当て式は、割り当て値に対して評価されます。
(test = read.readLine())
>>
(test = <<return value>>)
>>
<<return value>>
(line = reader.readLine())!= null
手段
多分一度に多くの操作...
reader.readLine()
は、行を読み取って返します。ここでは、そこから返されるものをすべて行に割り当て、行変数がnullかどうかを確認します。