我在http://api.dartlang.org/中读到应该有一个字符串运算符 +
抽象字符串运算符+(其他字符串)
通过将此字符串与其他字符串连接来创建一个新字符串。
由于某种原因它不起作用,Dart 说:
“'+' 不能用于字符串连接”。
我误解了运营商吗?
我在http://api.dartlang.org/中读到应该有一个字符串运算符 +
抽象字符串运算符+(其他字符串)
通过将此字符串与其他字符串连接来创建一个新字符串。
由于某种原因它不起作用,Dart 说:
“'+' 不能用于字符串连接”。
我误解了运营商吗?
你运行的是哪个版本的 Dart?这对我有用:
$ dart --version
Dart VM version: 0.6.3.3_r24898 (Thu Jul 11 07:47:12 2013) on "linux_x64"
$ cat test.dart
main() {
print("a" + "b");
}
$ dart test.dart
ab
有一段时间,字符串的 + 运算符被删除了。不过,这件事最近又被带回来了。确保您使用的 Dart 编辑器/SDK 是最新的。
通常,有比使用 + 运算符进行字符串连接更好的选择。对于变量,您可以使用字符串插值:
var username = 'Jason';
// ...
var msg = 'Hello ${username}';
对于更长的字符串连接,您应该使用 StringBuffer 来避免构建字符串,直到您调用 toString():
StringBuffer sb = new StringBuffer();
sb.write("Hello ");
sb.write(username);
var msg = sb.toString();