【问题标题】:StringBuffer in flutter doesn't working as expectedFlutter 中的 StringBuffer 无法按预期工作
【发布时间】:2018-07-30 03:02:33
【问题描述】:

我目前刚刚开始了一个 Flutter 项目,在玩 StringBuffer 类时发现非常沮丧,我有以下代码,这些代码将 url 格式化并应用于我的类;

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()和@ 987654328@,任何帮助将不胜感激

【问题讨论】:

    标签: dart flutter stringbuffer


    【解决方案1】:

    StringBuffer 在构造函数中有一个可选参数,它将接受任何对象并在其上调用toString()。上面代码的结果只是列表上的 toString() 。如果您想将 Iterable 写入缓冲区,则改为使用 StringBuffer.writeAll,它将遍历值并将每个字符串添加到缓冲区。

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

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

    return '${Connector._baseUri}/';
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 2021-11-17
      • 2022-12-30
      • 2013-12-23
      • 2014-12-09
      • 2016-01-13
      相关资源
      最近更新 更多