颤振中的 StringBuffer 无法按预期工作

StringBuffer in flutter doesn't working as expected

我目前刚刚开始一个 Flutter 项目,在使用 StringBuffer class 时感到非常沮丧,我有下面的代码格式化并将 url 应用到我的 class;

Connector._baseUri = baseUri;
if (Connector._baseUri.endsWith("/"))
  Connector._baseUri = Connector._baseUri.substring(0, Connector._baseUri.lastIndexOf('/'));
Connector._baseUri = new StringBuffer([Connector._baseUri, "/"]).toString();

然而 baseUri 的初始值是 http://locahost/test////,但是 _baseUri 的最终值然后被设置为 [http://localhost/test, /] 我可能期望一个简单的 http://localhost/test/,也尝试过 .write().writeAll(),任何帮助将不胜感激

StringBuffer has an optional parameter in the constructor, which will take any object and call toString() on it. The result of your code above is just toString() on a List. If you want to write an Iterable to the buffer, you instead want to use StringBuffer.writeAll 这将遍历值并将每个字符串添加到缓冲区。

final buffer = new StringBuffer();
buffer.writeAll([Connector._baseUri, "/"]);
return buffer.toString()

虽然只有两个值,但您也可以只使用 string interpolation

return '${Connector._baseUri}/';