飞镖操作员+不起作用

时间:2013-07-11 21:32:25

标签: string dart operator-keyword

我在http://api.dartlang.org/中读到应该有一个String运算符+

abstract String operator +(String other)

通过将此字符串与其他字符串连接来创建新字符串。

由于某些原因它不起作用,Dart说:

“'+'不能用于字符串连接”。

我误解了操作员吗?

2 个答案:

答案 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();