我想在DART中创建一个更专业的列表.我不能直接转List.我有什么 Select ?

推荐答案

Dart:Collection中有一个ListBase类.如果您扩展这个类,您只需要实现:

  • get length
  • set length
  • []=
  • []

下面是一个例子:

import 'dart:collection';

class FancyList<E> extends ListBase<E> {
  List innerList = new List();

  int get length => innerList.length;

  void set length(int length) {
    innerList.length = length;
  }

  void operator[]=(int index, E value) {
    innerList[index] = value;
  }

  E operator [](int index) => innerList[index];

  // Though not strictly necessary, for performance reasons
  // you should implement add and addAll.

  void add(E value) => innerList.add(value);

  void addAll(Iterable<E> all) => innerList.addAll(all);
}

void main() {
  var list = new FancyList();

  list.addAll([1,2,3]);

  print(list.length);
}

Dart相关问答推荐

为什么在穷举switch 表达式中需要显式向下转换?

空值判断运算符 - Flutter

当未指定返回类型时,dart 显示另一个函数内部的确切返回类型,但对于顶层函数显示为动态

为什么 StatefulWidget 的路由创建失败?

Flutter:是否可以有多个 Futurebuilder 或一个 Futurebuilder 用于多个 Future 方法?

Flutter:Firebase FieldValue.serverTimestamp() 到 DateTime 对象

如何解决此Cannot enable MyLocation layer as location permissions are not granted?

如何签署 Flutter 的应用程序

替换 Flutter 中的片段等小部件

如何在 Flutter CustomPainter 中使用Bezier Curves绘制形状

Flutter 中 ChangeNotifier 的构建器小部件

是否有必要为Flatter安装Android Studio,或者可以用什么替代Android Studio?

如何从列表中的元素创建逗号分隔的字符串

如何创建类型别名

用默认值初始化成员的最优雅的方法

学习 Dart 好还是我必须使用基本的 javascript?

如何在 Dart 中从外部查询 shadow DOM 中的元素?

如何在 Dart 中扁平化map列表?

如何在 Dart 中获取时间戳?

如何在 Dart 中合并两个列表?