美文网首页
dart语法7-泛型

dart语法7-泛型

作者: jxtx | 来源:发表于2020-05-16 17:04 被阅读0次

dart语法1
dart语法2-内置类型
dart语法3-函数
dart语法4-操作符
dart语法5-异常
dart语法6-类
dart语法7-泛型
dart语法8-库
dart语法9-异步
dart语法10-生成器
dart语法11

泛型

泛型函数

1.Dart1.21开始可以使用泛型函数。
2.泛型函数可以在以下几个地方使用类型参数:
<1> 函数的返回值类型。
<2> 参数的类型。
<3> 局部变量的类型。

main() {
  K addCache<K, V>(K key, V value) {
    K temp = key;
    print('${key}: ${value}');
    return temp;
  }
  var key = addCache('dongnao', 'damon');
  print(key);
}

构造函数泛型

要在使用构造函数时指定一个或多个类型,可将类型放在类名称后面的尖括号<...>中。

main() {
  var p = Phone<String>('123456');
  print(p.mobileNumber);
}

class Phone<T> {
  final T mobileNumber;
  Phone(this.mobileNumber);
}

泛型限制

实现泛型类型时,您可能希望限制其参数的类型,可以在<>里面使用extends。

main() {
  var footMassage = FootMassage();
  var m = Massage<FootMassage>(footMassage);
  m.massage.doMassage();
}

class Massage<T extends FootMassage > {
  final T massage;
  Massage(this.massage);
}

class FootMassage {
  void doMassage() {
    print('脚底按摩');
  }
}

与java区别

  • Java中的泛型信息是编译时的,泛型信息在运行时是不存在的
  • Dart的泛型类型是固化的,在运行时也有可以判断的具体类型

在Java中,可以测试对象是否为List,但无法测试它是否是List<String>。

var names = List<String>();
print(names is List<String>);//true
print(names.runtimeType); // List<String>

相关文章

  • dart语法7-泛型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • Dart语言简介 2019-03-18

    标签(空格分隔): Dart Flutter Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型...

  • Dart语法 -- [07 - 泛型]

    1.1. List和Map的泛型 List使用时的泛型写法: Map使用时的泛型写法: 1.2. 类定义的泛型 如...

  • dart语法速览

    dart语法速览 类与构造 泛型 Factory与私有 生成器 类型别名 异步

  • Java泛型详解

    一、泛型简介 1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic ...

  • 【阿里P8大牛教你Android入门之路(java篇)】Java

    一、泛型简介 1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic ...

  • Java泛型总结

    一、泛型简介1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic S...

  • Dart 泛型

    解决类、接口、方法的复用性以及对不特定数据类型的支持(类型校验) 这种输出指定的类型,可以使用泛型解决 字母 T ...

  • Dart语法之枚举和泛型

    枚举 枚举是一种有穷序列集的数据类型 使用关键字enum定义一个枚举 常用于代替常量,控制语句等 枚举特性inde...

  • flutter Dart语法

    Dart语言特点: 打印语法: 一、变量与常量 二、数据类型 三、函数 四、运算符 五、控制流程 六、类 七、泛型...

网友评论

      本文标题:dart语法7-泛型

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