You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串List格式化为带“-”前缀及换行的指定格式输出

如何将字符串List格式化为带“-”前缀及换行的指定格式输出

嘿,我来帮你搞定这个需求!要把String类型的List转换成每个元素带- 前缀、每行一个的格式,有几种简单好用的实现方式,我给你详细说下:

方式一:基础循环拼接(兼容所有Java版本)

如果你的项目还在使用Java 8之前的版本,这种传统循环的方式最稳妥,用StringBuilder来高效拼接字符串,避免频繁创建字符串对象:

private void setUsersTest() {
    List<String> usersName = new ArrayList<>();
    usersName.add("1");
    usersName.add("2");
    usersName.add("3");
    usersName.add("4");
    usersName.add("5");
    usersName.add("6");
    usersName.add("7");
    usersName.add("8");
    usersName.add("9");

    // 开始格式化
    StringBuilder formattedResult = new StringBuilder("List of users:\n");
    for (String userName : usersName) {
        formattedResult.append("- ").append(userName).append("\n");
    }

    // 这里可以打印结果,或者把formattedResult.toString()用在你需要的地方
    System.out.println(formattedResult);
}

运行后输出的结果就和你示例里的注释格式完全一致啦。

方式二:Java 8+ Stream API(简洁高效)

如果你的项目已经用了Java 8或更高版本,用Stream API可以让代码更简洁优雅,一行链式调用就能完成:

private void setUsersTest() {
    List<String> usersName = new ArrayList<>();
    usersName.add("1");
    usersName.add("2");
    usersName.add("3");
    usersName.add("4");
    usersName.add("5");
    usersName.add("6");
    usersName.add("7");
    usersName.add("8");
    usersName.add("9");

    // 用Stream格式化
    String formattedResult = usersName.stream()
            .map(name -> "- " + name) // 给每个元素加上"- "前缀
            .collect(Collectors.joining("\n", "List of users:\n", "")); // 用换行符拼接所有元素,同时加上开头标题

    // 输出或使用结果
    System.out.println(formattedResult);
}

这里的Collectors.joining方法非常实用,第一个参数是元素之间的分隔符(这里是换行符\n),第二个参数是拼接后的前缀(也就是我们的标题),第三个参数是后缀(这里不需要就留空)。

两种方式都能生成你想要的格式:

List of users:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

备注:内容来源于stack exchange,提问作者Karl Parneix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:15:29