Строки в списке классов, возвращающие нуль - PullRequest
0 голосов
/ 19 июня 2020
 class Q {
  String que;
  bool qa;
  Q({String q1, bool q2}) {
    que = q1;
    qa = q2;
  }
}


 List<Q> qu = [
Q(q1: 'You can lead a cow downstairs but not upstairs.',q2: false,),
Q(q1: 'YAML Ain't Markup Language', q2: true,),
]

   print(qu[0].que)

возвращает null. Зачем? Я хочу, чтобы он вернул строку. Но вместо этого он возвращает null. У класса Q есть отдельный собственный файл dart, который я импортирую, используя:

import 'q.dart';

Остальной код находится в main.dart.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

вы должны объявить тип qu:

Q qu = Q(
  q1: 'You can lead a cow down stairs but not up stairs.',
  q2: false,
);

, поскольку qu имеет тип Q, вы можете использовать приведенный выше код, в противном случае вы можете использовать ключевое слово var (не рекомендуется, потому что dart строго статически типизирован)

var qu = Q(
  q1: 'You can lead a cow down stairs but not up stairs.',
  q2: false,
);
0 голосов
/ 19 июня 2020

Когда я тестирую ваш код, он работает хорошо ... Но из-за ошибки вам нужно добавить тип для определения переменной.

Q qu = Q(
      q1: 'You can lead a cow down stairs but not up stairs.',
      q2: false,
    )

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...