美文网首页
Flutter -- 12.枚举&泛型

Flutter -- 12.枚举&泛型

作者: MissStitch丶 | 来源:发表于2021-11-17 11:09 被阅读0次

1.枚举

  • 枚举的index从0开始,依次递增
  • 枚举不能赋值
  • 不能添加方法
/*
* 1.枚举的index从0开始,依次递增
* 2.枚举不能赋值
* 3.不能添加方法
* */
enum Direction {
  top,
  left,
  bottom,
  right
}

testEnum() {
  print(Direction.top.index); //0
  print(Direction.left.index); //1
  print(Direction.bottom.index); //2
  print(Direction.right.index); //3
}

2.泛型

  • 对不特定数据类型的支持,比如网络请求dio返回数据,PopupMenuItem中的点击回调数据
  • 一般为了给类添加泛型变量或者指定方法参数类型
1.类的泛型
  • 格式为:class Person<T>{}
testGeneric() {
  Generic generic = Generic<int>(data: 10);
  generic.showData(); //10
}

class Generic<T>{
  T? data;
  Generic({this.data});
  showData() {
    print(data);
  }
}
2.方法的泛型
testGeneric() {
  //创建时指定了类型
  // Generic generic = Generic<int>();
  // generic.add('1', 2); //2 //加不进去'1', 因为'1'不是int类型
  // generic.add(3, 4); //2, 3, 4 //加进去了3,因为R与T是一个类型
  // generic.add('1', '2'); //由于上面指定了为int, 这里不能传入String,会报错

  //创建时不知道类型
  Generic generic1 = Generic();
  generic1.add('1', 2); //1, 2
  generic1.add(3, 4); // 1, 2, 3, 4
  //当类定义时,没有指定泛型时,element is T这个会为true,
}

class Generic<T>{
  final List<T> list = [];

  add<R>(R element, T value) {
    if (element is T) {
      list.add(element);
    }
    list.add(value);
    list.forEach(print);
  }

}

相关文章

  • Flutter -- 12.枚举&泛型

    1.枚举 枚举的index从0开始,依次递增 枚举不能赋值 不能添加方法 2.泛型 对不特定数据类型的支持,比如网...

  • 03_TypeScript学习(三)

    一. TypeScript枚举类型 二. 枚举类型的值 三. 认识泛型 四. 泛型实现类型参数化 五. 泛型的基本...

  • 泛型,枚举

    泛型的用处 将运行时的异常提前至了编译时 避免了无谓的强制类型转换 自定义泛型 自定义泛型就是一个数据类型的占位符...

  • Java 泛型

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

  • 问题:泛型类,泛型结构体,泛型协议的功能特性都包含在Swift中

    Swift 包含泛型类,泛型结构体特性。泛型可以在类、结构体、枚举、全局函数或者方法中使用。 泛型协议是通过typ...

  • Flutter(七) Dart语言基础-枚举&泛型

    枚举 枚举的定义 枚举使用enum关键字来进行定义: 枚举的属性 枚举类型中有两个比较常见的属性: index: ...

  • JavaSE 枚举+泛型

  • 枚举&泛型

    简介 枚举是一种特殊的类,创建枚举类的关键字是enum,通常用于设置常量,枚举限制变量只能是预先设定好的值。使用枚...

  • 可选类型的本质

    从上面的代码,不难看出,Optional是一个枚举,而枚举里面加入了一个泛型,如果我们赋值泛型为Int,那么这个可...

  • Java高级-泛型

    12.泛型 1.泛型的概念 所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返...

网友评论

      本文标题:Flutter -- 12.枚举&泛型

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