我在http://api.dartlang.org/中读到应该有一个String运算符+
abstract String operator +(String other)
通过将此字符串与其他字符串连接来创建新字符串。
由于某些原因它不起作用,Dart说:
“'+'不能用于字符串连接”。
我误解了操作员吗?
答案 0 :(得分:3)
你在运行哪个版本的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
答案 1 :(得分:2)
有一段时间,为String删除了+运算符。然而,这最近被带回来了。确保您使用的Dart编辑器/ SDK是最新的。
通常,比使用+运算符进行字符串连接有更好的选择。对于变量,您可以使用字符串插值:
var username = 'Jason';
// ...
var msg = 'Hello ${username}';
对于更长的字符串连接,你应该使用StringBuffer,它可以避免在调用toString()之前构建String:
StringBuffer sb = new StringBuffer();
sb.write("Hello ");
sb.write(username);
var msg = sb.toString();