美文网首页
Flutter中泛型

Flutter中泛型

作者: GaoEnron | 来源:发表于2020-11-26 14:01 被阅读0次

泛型

• 正确指定泛型类型有助于产生更好代码

  var names = List<String>(); // 创建相应的数据
  names.addAll(['Tom', 'Java', 'Json']);
  names = <String>['Tom', 'Tom', 'Tom'];

• 泛型减少重复代码

而泛型就可以解决上面的问题,它通过对类型参数化,实现一个类针对多种数据类型操作的适配。

abstract class ObjectCache {
  Object getByKey(String key);
  void setByKey(String key, Object value);
}

abstract class StringCache {
  String getByKey(String key);
  void setByKey(String key, String value);
}
// 上方代码可以直接定义泛型,从而减少重复代码
abstract class Cache<T> {
  T getByKey(String key);
  void setByKey(String key, T value);
}

• 列表和哈希表构造函数和字面量均支持类型参数

var pages = <String, String> {
  'index.html': 'homepage',
  'index2.html': 'homepage',
  'index3.html': 'homepage',
 };

• 泛型集合的类型信息会保留到运行时

var names = List<String>();
names.addAll(['Tom', 'Tom', 'Tom']);
print(names is List<String>); // true

• 可以使用 extends 来限制类型参数可选范围

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

class Employee extends Person {
  Employee.fromJson(Map data) : super.fromJson(data) {
    print('in Employee');
  }
}

• 泛型不仅支持类,还支持方法函数

class ParseClass<T>{
      List list=new List<T>();
      void add(T value){
          this.list.add(value);
      }
      void printInformation(){          
          for(var i=0 ;i < this.list.length; i++){
            print(this.list[i]);
          }
      }
 }

 getUserInforamtion<T>(T value){
       return value;
 }

相关文章

  • Flutter中泛型

    泛型 • 正确指定泛型类型有助于产生更好代码 • 泛型减少重复代码 而泛型就可以解决上面的问题,它通过对类型参数化...

  • Java 泛型

    导读 移动开发知识体系总章(Java基础、Android、Flutter) 为什么会有泛型? 泛型类 泛型方法 泛...

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • 注解

    作用: 在类中定义泛型: 在方法中定义泛型: 给泛型设置通配符上限: 给泛型设置通配符下限: 泛型擦除: 兼容性:...

  • TS 泛型+装饰器

    typescript 中的泛型 泛型的定义泛型函数泛型类泛型接口 泛型:软件工程中,我们不仅要创建一致的定义良好的...

  • 泛型边界

    extends 和 super关键字运用在泛型中,主要作用是限制泛型的边界,确定在泛型方法或者泛型类中可是利用泛型...

  • Flutter 泛型使用

    List 通用泛型List 表示在这个定义的List中只能存放字符串类型,如果添加数字类型,代码运行时就会...

  • Flutter/Dart - 泛型

    泛型的定义 通俗理解:泛型就是解决类,接口,方法的复用性、以及对不特定数据类型的支持(类型校验) 接下来我们实现一...

  • Java-API-集合框架(三)-泛型

    泛型的由来和基本使用 泛型的擦除 泛型类的使用 泛型方法的使用 泛型接口 泛型通配符(?) 通配符? 在api中的...

  • Kotlin泛型的高级特性(六)

    泛型的高级特性1、泛型实化2、泛型协变3、泛型逆变 泛型实化 在Java中(JDK1.5之后),泛型功能是通过泛型...

网友评论

      本文标题:Flutter中泛型

      本文链接:https://www.haomeiwen.com/subject/kkwaiktx.html