颤振中的 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}/';
我目前刚刚开始一个 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}/';