我总结了Java中的一个new关键字是如何创建一个String(“string”),两个对象或者只是variable =“string”同时创建一个对象的。Dart中String的内存分配是多少?先谢谢你的回答。
zf9nrax11#
这很复杂。Java String构造函数是一个复制构造函数,它创建一个内容相同的新对象(新标识),对应的Dart操作是String.fromCharCodes(otherString.codeUnits)。一个Dart字符串常量,比如"string",是一个编译时常量。它在运行时不需要任何内存分配。它在初始化程序开始运行之前就已经存在了。执行string1 + string2或"foo $v1 or $v2"将分配新的字符串,其长度为所有连接的字符串的长度。
String
String.fromCharCodes(otherString.codeUnits)
"string"
string1 + string2
"foo $v1 or $v2"
1条答案
按热度按时间zf9nrax11#
这很复杂。
Java
String
构造函数是一个复制构造函数,它创建一个内容相同的新对象(新标识),对应的Dart操作是String.fromCharCodes(otherString.codeUnits)
。一个Dart字符串常量,比如
"string"
,是一个编译时常量。它在运行时不需要任何内存分配。它在初始化程序开始运行之前就已经存在了。执行
string1 + string2
或"foo $v1 or $v2"
将分配新的字符串,其长度为所有连接的字符串的长度。