【发布时间】:2022-12-23 03:49:07
【问题描述】:
我总结了如何新的Java 中的关键字创建一个字符串(“字符串”), 2 个对象或只是 variable = "string" 而创建 1 个对象。 Dart中String的内存分配是怎样的?
预先感谢您的回答。
【问题讨论】:
我总结了如何新的Java 中的关键字创建一个字符串(“字符串”), 2 个对象或只是 variable = "string" 而创建 1 个对象。 Dart中String的内存分配是怎样的?
预先感谢您的回答。
【问题讨论】:
情况很复杂。
Java String 构造函数是一个复制构造函数。它创建一个具有相同内容的新对象(新身份)。
相应的 Dart 操作将是String.fromCharCodes(otherString.codeUnits)。
Dart 字符串文字,如 "string" 是编译时常量。它可能不需要在运行时分配任何内存。它在开始运行之前存在于初始程序中。
执行 string1 + string2 或 "foo $v1 or $v2" 将分配新字符串,其长度为所有连接字符串的长度。
【讨论】: