Возвращаемый тип «int» не является » Строкой?», как того требует контекст закрытия

#flutter #cross-platform #type-inference #flutter-test

#трепетать #кросс-платформенный #вывод типа #флаттер-тест

Вопрос:

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

Комментарии:

1. Добавьте свой фрагмент кода

2. Не могли бы вы поделиться своим кодом? Ошибка очевидна, но мы не можем догадаться, что вы делаете.

Ответ №1:

Если я правильно понял ваш вопрос, вам нужно превратить строку в int? Для этого используйте int.parse(ваша строка) -gt; вы получите int

Если вы получаете ошибку с int и int? или Строка и строка? (тот же тип, но со знаком вопроса), попробуйте использовать ?? оперантный

Например (со строковым значением):

 MyObject(  stringField: myString ?? '', //you are ensuring that if your String is null, there will be no error );  

Ответ №2:

если вы хотите вернуть данные строкового типа из данных int, вам необходимо преобразовать их.

 String test() {  int num = 0;  return(num.toString());  }  

Но если вы хотите вернуть данные типа int из строковых данных, вам нужно сначала проанализировать их в int.

 int test() { String pi = '3'; int now = int.parse(pi); // result from change String to int return now;  

}