当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart StringBuffer用法及代码示例


dart:core 库中StringBuffer 类的用法介绍如下。

用于有效连接字符串的类。

允许使用write*() 方法增量构建字符串。仅当调用 toString 时,字符串才会连接到单个字符串。

例子:

final buffer = StringBuffer('DART');
print(buffer.length); // 4

要将对象的字符串表示形式(由 Object.toString 返回)添加到缓冲区,请使用 write 。也用于直接添加字符串。

buffer.write(' is open source');
print(buffer.length); // 19
print(buffer); // DART is open source

const int dartYear = 2011;
buffer
  ..write(' since ') // Writes a string.
  ..write(dartYear); // Writes an int.
print(buffer); // DART is open source since 2011
print(buffer.length); // 30

要在对象的字符串表示之后添加换行符,请使用 writeln 。不带参数调用 writeln 会在缓冲区中添加一个换行符。

buffer.writeln(); // Contains "DART is open source since 2011\n".
buffer.writeln('-' * (buffer.length - 1)); // 30 '-'s and a newline.
print(buffer.length); // 62

要将多个对象写入缓冲区,请使用 writeAll

const separator = '-';
buffer.writeAll(['Dart', 'is', 'fun!'], separator);
print(buffer.length); // 74
print(buffer);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!

要将 Unicode 代码点的字符串表示形式 charCode 添加到缓冲区,请使用 writeCharCode

buffer.writeCharCode(0x0A); // LF (line feed)
buffer.writeCharCode(0x44); // 'D'
buffer.writeCharCode(0x61); // 'a'
buffer.writeCharCode(0x72); // 'r'
buffer.writeCharCode(0x74); // 't'
print(buffer.length); // 79

要将内容转换为单个字符串,请使用 toString

final text = buffer.toString();
print(text);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!
// Dart

要清除缓冲区以使其可以重复使用,请使用 clear

buffer.clear();
print(buffer.isEmpty); // true
print(buffer.length); // 0
实现的类型

StringSink

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 StringBuffer class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。