java中List转换String字符串几种方式

1.使用StringUtils工具类List转String

public static void main(String[] args) {

    // 构造list

    List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");

    String join = StringUtils.join(list, ",");

    System.out.println("结果:"+join);

    String join1 = StringUtils.join(list);

    System.out.println("结果:"+join1);

}

// 输出

StringUtils.join() 转化后的字符串,正确 :张三,李四,王五,赵六

StringUtils.join() 转化后的字符串,错误 :[张三, 李四, 王五, 赵六]

2.使用guava的Joiner字符串拼接

public static void main(String[] args) {

    // 构造list

    List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");



    String join2 = Joiner.on(",").join(list);

    System.out.println("结果:"+join2);

}

// 输出

Joiner 转化后的字符串 : 张三,李四,王五,赵六

3.Java8 String.join()

StringUtils.join() 和 String.join()用途:将数组或集合以某拼接符拼接到一起形成新的字符串。

这里和StringUtils.join()有区别,参数顺序不一样,另外,StringUtils.join()可以传入Integer或者其他类型的集合或数组,而String.join()尽可以传入实现charSequence接口类型的集合或数组。

如果是字符串类型的集合或数组推荐使用String.join()

@Test

public void ListToString() {

// 构造list

List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");

String str = String.join(",", list);// StringUtils.join(list, ",");

System.out.println("String.join() 转化后的字符串 : " + str);

}

// 输出

String.join() 转化后的字符串 : 张三,李四,王五,赵六

4.Java8 Collctors.joining()

将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。

@Test

public void ListToString() {

// 构造list

List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");

// 以逗号分隔,带前缀后缀

String str1 = list.stream().collect(Collectors.joining(",", "{", "}"));

System.out.println("Collectors.joining 带前缀后缀 : " + str1);

// 以@分隔,不带前缀后缀

String str2 = list.stream().collect(Collectors.joining("@"));

System.out.println("Collectors.joining 不带前缀后缀 : " + str2);

}

// 输出

Collectors.joining 带前缀后缀 : {张三,李四,王五,赵六}

Collectors.joining 不带前缀后缀 : 张三@李四@王五@赵六

5.传统循环并拼接的方式

@Test

public void ListToString() {

List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");

StringBuilder builder = new StringBuilder();

for (int i = 0; i < list.size(); i++) {

builder.append(list.get(i));

builder.append(",");

}

String substring = builder.substring(0, builder.length() - 1);

System.out.println("String.join() 转化后的字符串 : " + substring);

}

// 输出

String.join() 转化后的字符串 : 张三,李四,王五,赵六

创作不易,如果这篇文章对你有用,请点赞。有其他建议请在下方留言评论,谢谢♪(・ω・)ノ!

Java,可以使用不同的方法将List转换String。其一种方法是使用String.join()方法。这个方法接受一个分隔符和一个List作为参数,将List的元素用分隔符连接起来并返回一个字符串。例如,可以使用以下代码将List转换StringList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); String joinedString = String.join(", ", list); System.out.println(joinedString); // 输出: A, B, C 另一种方法是使用StringBuilder。可以通过遍历List的元素,将每个元素追加到StringBuilder,并在每个元素后面添加一个分隔符。最后,可以使用StringBuilder的toString()方法将StringBuilder转换String。以下是使用StringBuilder的示例代码: List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); StringBuilder sb = new StringBuilder(); for (String str : list) { sb.append(str); sb.append(", "); } sb.setLength(sb.length() - 2); // 删除最后一个逗号和空格 String joinedString = sb.toString(); System.out.println(joinedString); // 输出: A, B, C 还可以使用Java 8的Stream API来完成这个任务。可以使用stream()方法将List转换为Stream,然后使用collect(Collectors.joining(", "))方法将Stream的元素连接起来,并指定一个分隔符。以下是使用Stream API的示例代码: List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); String joinedString = list.stream().collect(Collectors.joining(", ")); System.out.println(joinedString); // 输出: A, B, C 这些是将JavaList转换String几种常用方法。根据具体的需求,可以选择适合的方法来完成转换。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [List转换String字符串几种方式](https://blog.csdn.net/weixin_42151235/article/details/127838130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java将集合List转换String字符串(或String转换List)](https://blog.csdn.net/qq_63029994/article/details/129935258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你可以叫我老白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值