最近在学dart class的构造函数时候出现 这个问题

file
原因是firstName没有初始化,不能为null

解决方案:

1.在String后面加个?

class Person {
  String? firstName ;
  Person.fromJson(Map data) {
    print('in Person');
  }
}

2.使用late关键字

class Person {
  late String firstName ;
  Person.fromJson(Map data) {
    print('in Person');
  }
}

完整代码:

class Person {
  late String firstName ;
  Person.fromJson(Map data) {
    print('in Person');
  }
}

class Employee extends Person {
  // Person does not have a default constructor;
  // you must call super.fromJson(data).
  Employee.fromJson(Map data) : super.fromJson(data) {
    print('in Employee');
  }
}

main() {
  var emp = new Employee.fromJson({});

  // Prints:
  // in Person
  // in Employee
  if (emp is Person) {
    // Type check
    emp.firstName = 'Bob';
  }
  (emp as Person).firstName = 'Bob';
}

参考:https://stackoverflow.com/questions/67034475/non-nullable-instance-field-must-be-initialized

centos7安装python3.8

1.安装python 依赖 sudo yum -y install epel-release sudo yum -y update 安装完后可以 reboot 重其服务器,非必须。 2.安装gcc编译环境等等 sudo yum -y gro...

阅读全文

php获取包含10w个手机号的txt文件(逗号隔开)

txt文件格式如下 13000000000,13000000005,13000000403,13001010129,13001010688,13001010838,13001016389,13001019538,13001030005,13001042700,13001047495...

阅读全文

使用yum安装Go(Golang)

使用yum安装Go(Golang) 本来准备直接yum install golang或者yum install go, 执行命名后,发现没有这个包。于是只能先添加源,然后在使用命令行安装了。 Ins...

阅读全文

欢迎留言