gpt4 book ai didi

dart - Dart 中用 new 操作符初始化和用字面量初始化的区别

转载 作者:行者123 更新时间:2023-12-03 03:48:08 27 4
gpt4 key购买 nike

在 Dart 中,初始化 List<int> 有什么区别?使用 new 运算符并使用文字对其进行初始化?

情况1:

List<int> args = new List<int>(2);
args[0] = 1;
args[1] = 2;

案例2:
List<int> args = <int>[1, 2];

当我将 args 发布到 native 服务端口时,服务端口将收到不同的消息。使用 new 操作符初始化的 List 实例被序列化为 Dart_CObject::kIntArray,但使用字面量初始化的实例被序列化为类型为 12 的 Dart_CObject 对象。

最佳答案

有一个微小的区别——在第一种情况下,您正在创建一个固定大小的列表,而在第二种情况下,列表是可增长的。如果您在第一种情况下使用“new List()”,则没有区别。我不是 100% 确定,因为我现在无法测试它,但这就是我理解它的方式(我确信 VM 具有用于固定大小列表和可增长列表的单独类)。

关于dart - Dart 中用 new 操作符初始化和用字面量初始化的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com