【问题标题】:How to create list from another typed list with 'List.from'?如何使用“List.from”从另一个类型的列表创建列表?
【发布时间】:2014-04-12 07:51:53
【问题描述】:

简单的飞镖代码:

class User {
  String name;
  User(this.name);
}

main() {
  List<User> users = [new User('Freewind')];
  var list = new List.from(users); 
  print(list.first.name); // ***
}

注意该行以'// *'结尾。

我的 IDEA 编辑器无法将 list.first 识别为 User,因为当我输入“.name”时它无法自动完成。

所以我必须声明类型:

List<User> list = new List.from(users);

它有效,但我想知道是否有任何其他方法可以让编译器知道list 的类型为List&lt;User&gt;

我试过了:

var list = new List<User>.from(users);

语法错误。

【问题讨论】:

    标签: list types intellij-idea dart


    【解决方案1】:

    这个在 DartEditor 中对我有用(没有错误/警告/提示),当然可以成功执行

    var list = new List<User>.from(users);
    

    【讨论】:

    • 我同意。问题是您没有在任何地方创建类型列表。要使用List.from 创建类型化列表,您必须将其写为new List&lt;User&gt;.from(...)。要创建类型化列表文字,您必须将其写为 &lt;User&gt;[new User(...)]
    • 我找不到我的代码和这个“你必须把它写成new List&lt;User&gt;.from(...)”(在...旁边)之间的区别。我想我只是没有得到你的评论。
    • 我的错误。我最初写它是作为对原始问题的评论,但认为它没有添加任何相关内容,所以我只是对你的答案发表评论。 “你”应该是指原始问题。很抱歉造成混乱。
    猜你喜欢
    • 1970-01-01
    • 2021-02-05
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2018-08-14
    相关资源
    最近更新 更多