Как прочитать эту строку кода

#java #csv

#java #csv

Вопрос:

Я использую это

 while ((nextLine = br.readNext()) != null) {
  

довольно часто, но я действительно этого не понимаю.
Это часть кода, в который загружается файл csv.
В принципе, я хотел бы знать, как ее прочитать.
Следующая строка определяется как: String[] nextLine;

Ответ №1:

Часть цикла проста:

 while (____ != null) {
  

Он будет продолжать цикл, пока ____ не равен null . Итак, давайте посмотрим, что ____ делает:

 (nextLine = br.readNext())
  

Этот код является assignemnt: он вызывает br.readNext() и присваивает результат nextLine . Ключ в том, что результатом присваивания является значение, которое было присвоено.

Итак:

  • Если br.readNext() возвращает что-то, чего нет null , оно присваивается nextLine , и код переходит в тело цикла.

  • Если br.readNext() возвращает null , ему присваивается значение nextLine и цикл завершается, потому null != null что равно false .

Ответ №2:

Строка

 while ((nextLine = br.readNext()) != null) {
  

использует тот факт, что «присваивание» также является «выражением», которое имеет значение — присвоенное значение.

Итак, строка, считываемая изнутри круглых скобок, выполняет следующее:

  1. Вызывает readNext() объект br ;
  2. Присваивает результат вызова nextLine ;
  3. Проверяет значение, присвоенное для null ;
  4. Если это так null , оно переходит за тело while цикла, к 7.;
  5. Если это не null так, выполняется тело while цикла;
  6. Затем он возвращается к 1. снова.
  7. Это продолжает программу.