五、大话Flutter——Dart泛型

90 阅读1分钟

一、List使用时的泛型写法

 main(List<String> args) {
      // 创建List的方式
      var names = ['哈哈', '呵呵', 11];
      print(names.runtimeType); //List<Object>

    // 限制类型
      var names = <String>['哈哈', '呵呵', 11]; ///最后一个元素报错
      List<String>names3 = ['哈哈', '呵呵', 11]; ///最后一个元素报错
    }

二、Map使用时的泛型写法

 main(List<String> args) {
      // 创建Map的方式
      var info = {'name': '哈哈', 'age': 18};
      print(info.runtimeType); //_Map<String, Object>

    //对类型进行显示
      Map<String, String> info2 = {'name':'哈哈','age': 18};// 18不能放在value中
      var info3 = <String,String> = {'name':'哈哈','age': 18};// 18不能放在value中
    }

三、类定义的泛型

class Point<T> {
      T x;
      T y;
      Point(this.x, this.y);
    }

    main(List<String> args) {
      var p1 = Point(20, 20);
      print(p1.x.runtimeType); // Int

      var p2 = Point('12', '12');
      print(p2.x.runtimeType); //  String
    }