Java 将 List 转换为 String常见方法
人民网>>社会·法治

Java 将 List 转换为 String常见方法

2025-06-24 12:38:15 | 来源:人民网
小字号

将 List 转换为 几种String方法。

  1. 使用 ListtoString()方法。将 List 转换为 String;结果前后都会有英文中括号[],如:[1, 2, 3, 4, 5]。使用Java8 stream流中的。
  2. Collections.joining()方法。,用逗号分隔符或自定义分隔符将集合转换为String字符串。使用。
  3. String.join()方法。将带有逗号分隔符或自定义分隔符的集合转换为字符串。使用Apache commons包下的。
  4. StringUtils.join()方法。;String结尾有分隔符小尾巴,如:"张三、李四、"使用 StringBuilder、Stringbufferappend方法。
  5. 定制join()方法。第一个:List.tostring方法。
List.toString()结果将在开头和结尾添加英文括号,每个字符串用逗号分隔,#xff08;#xff09不能更改分隔符;。如果我们想删除方括号,需要Stringng的帮助.replaceall方法

/** * listttostring方法,结果前后都会有英文中括号[],如:[1, 2, 3, 4, 5] */public static void main(String[] args) { List asList = Arrays.asList(1, 2, 3, 4, 5); String list2String = asList.toString(); System.out.println(list2String); ///使用replacealll方法替换 中括号 list2String = list2String.replaceAll("\\[|]", ""); System.out.println(list2String);}。

 第二种:Stream流通String。
java8 collectorsstream提供.join()该方法可用于将集合转换为具有指定分隔符、前缀和后缀的字符串。

public class Demo2 { /** * List 转 String * Collectionstream流中的stream.joining方法 **/ public static void main(String[] args) { List list = Arrays.asList("张三", "李四", "王武", null, "麻子"); //java Collectionstream流中的stream.joining方法 //指定分隔符 String collect = list.stream().collect(Collectors.joining(",")); ///没有分隔符󿀌直接拼接 String collect1 = list.stream().collect(Collectors.joining()); ///指定分隔符,前缀,后缀 String collect2 = list.stream().collect(Collectors.joining(",", "{ ", "}")); System.out.println(collect);/张三,李四,王武,null,麻子 System.out.println(collect1);///张三李四王武nul System.out.println(collect2);//{ 张三、李四、王武null,麻子} }}。

第三种༚String.join()方法。
第三种༚String.join()方法。

java8 String添加了一种特殊的Join方法,将集合转换为指定分隔符连接的字符串。

/**     * String.join()     **/    public static void main(String[] args) {         List list = Arrays.asList("张三", "李四", "王武", null, "麻子");        String join = String.join(",", list);        System.out.println(join);/张三,李四,王武,null,麻子    }。
第四种:StringUtils.join()方法。

Apache StringUtilss包的外部库有一种方法.join() 方法,它类似于 String.join() 方法,将集合转换为指定分隔符链接的字符串;但是,如果。Apache StringUtilss包的外部库有一种方法.join() 方法,它类似于 String.join() 方法,将集合转换为指定分隔符链接的字符串;但,假如集合中有null,它将被转换成空串。

/** * StringUtils.join() **/ public static void main(String[] args) { List list = Arrays.asList("张三", "李四", "王武", null, "麻子"); //StringUtils.join方法,如果集合中有null,会变成空串"" String join = StringUtils.join(list, ","); System.out.println(join); /张三、李四、王武、麻子 }。

第五种༚定制Join方法。

第五种༚自定义Join方法

java提供StringBuilderr。、Stringbuffer两类󿼌使用他们提供的append方法自定义join方法,将集合转换为字符串。

/**     * StringBuilder、Stringbufferappend()方法     **/    public static void main(String[] args) {         List list = Arrays.asList("张三", "李四", "王武", null, "麻子");        //3. StringBuilder、Stringbuferappend方法自定义join方法        StringBuilder sb = new StringBuilder();        for (String s : list) {             sb.append(s).append(",");        }        //sb.insert(0, "join如下:");        if (sb.length() > 1) {             sb.deleteCharAt(sb.length() - 1);        }        System.out.println(sb.toString()); //张三,李四,王武,null,麻子    }。

 逻辑如上�以上逻辑可以封成一种通用的join方法。

public class Demo2 { public static class ListJoin<E> { public String join(String delimiter, Collection<? extends E> list) { Objects.requireNonNull(delimiter); Objects.requireNonNull(list); StringBuilder result = new StringBuilder(); for (E obj : list) { ////根据需要处理空气 if (Objects.isNull(obj)) { continue; } result.append(obj).append(delimiter); } if (result.length() > 1) { result.deleteCharAt(result.length() - 1); } return result.toString(); } } /** * StringBuilder、Stringbufferappend()方法 **/ public static void main(String[] args) { List<String> list = Arrays.asList("张三", "李四", "王武", null, "麻子"); ///上述join方法可以修改为通用join方法 ListJoin<String> strDemo = new ListJoin<>(); String join = strDemo.join(",", list); System.out.println(join); /张三,李四,王武,麻子 ListJoin<Integer> intDemo = new ListJoin<>(); List<Integer> asList = Arrays.asList(1, 2, 3, 4, 5); String intJoin = intDemo.join("-", asList); System.out.println(intJoin); //1-2-3-4-5 }}。以上方法可将List集合转换为字符串,根据业务需要使用不同的方法。以上方法可将List集合转换为字符串,根据业务需要使用不同的方法。

(责编:人民网)

分享让更多人看到