Dart API Referencedart:coreimplStringBufferImpl

StringBufferImpl Class

The StringBuffer class is useful for concatenating strings efficiently. Only on a call to toString are the strings concatenated to a single String.

Implements

StringBuffer

Constructors

Code new StringBufferImpl([Object content = ""]) #

Creates the string buffer with an initial content.

StringBufferImpl([Object content = ""]) {
  clear();
  add(content);
}

Methods

Code StringBuffer add(Object obj) #

Adds obj to the buffer. Returns this.

StringBuffer add(Object obj) {
  String str = obj.toString();
  if (str === null || str.isEmpty()) {
    return this;
  }
  _buffer.add(str);
  _length += str.length;
  return this;
}

Code StringBuffer addAll(Collection objects) #

Adds all items in objects to the buffer. Returns this.

StringBuffer addAll(Collection objects) {
  for (Object obj in objects) {
    add(obj);
  }
  return this;
}

Code StringBuffer addCharCode(int charCode) #

Adds the string representation of charCode to the buffer. Returns this.

StringBuffer addCharCode(int charCode) {
  return add(new String.fromCharCodes([charCode]));
}

Code StringBuffer clear() #

Clears the string buffer. Returns this.

StringBuffer clear() {
  _buffer = new List<String>();
  _length = 0;
  return this;
}

Code bool isEmpty() #

bool isEmpty() {
  return _length === 0;
}

Code int get length() #

Returns the length of the buffer.

int get length() {
  return _length;
}

Code String toString() #

Returns the contents of buffer as a concatenated string.

String toString() {
  if (_buffer.length === 0) return "";
  if (_buffer.length === 1) return _buffer[0];
  String result = StringBase.concatAll(_buffer);
  _buffer.clear();
  _buffer.add(result);
  // Since we track the length at each add operation, there is no
  // need to update it in this function.
  return result;
}