Skip to main content

use_string_buffers

Use a string buffer rather than '+' to compose strings.

Description

#

The analyzer produces this diagnostic when values are concatenated to a string inside a loop without using a StringBuffer to do the concatenation.

Example

#

The following code produces this diagnostic because the string result is computed by repeated concatenation within the for loop:

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

Common fixes

#

Use a StringBuffer to compute the result:

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