跳到主内容

use_string_buffers

使用字符串缓冲区(StringBuffer)而不是 '+' 来组合字符串。

描述

#

当在循环内部将值连接到字符串时,如果没有使用 StringBuffer 进行连接,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为字符串 result 是在 for 循环中通过重复连接计算出来的

dart
String f() {
  var result = '';
  for (int i = 0; i < 10; i++) {
    result += 'a';
  }
  return result;
}

常见修复

#

使用 StringBuffer 计算结果

dart
String f() {
  var buffer = StringBuffer();
  for (int i = 0; i < 10; i++) {
    buffer.write('a');
  }
  return buffer.toString();
}