当前位置: 代码网 > it编程>编程语言>Java > Java中将List列表转换为字符串的三种方法

Java中将List列表转换为字符串的三种方法

2025年04月02日 Java 我要评论
引言如何在 java中将list 转换为 string。接下来使用java 8 streams collectors api和string.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字

引言

如何在 java中将list 转换为 string。接下来使用java 8 streams collectors api和string.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串。这种转换是通过使用 java api 方法的简单步骤完成的。首先了解如何使用tostring()方法将 list 转换为 string,最后学习著名的 apache 库命令stringutils.join()方法。

对于所有示例,输入列表必须是 string 作为list类型,否则我们需要将非字符串转换为 string。例如,list 是 double 类型,然后需要先将 double 转换为字符串。

使用标准 tostring() 方法

list.tostring()是最简单的,但它在开头和结尾添加方括号,每个字符串用逗号分隔符分隔。

缺点是我们不能用另一个分隔符替换逗号,也不能去掉方括号。

import java.util.arrays;
import java.util.list;

public class listtostringusingtostringexample {

    public static void main(string args) {

    // creating a list with strings.
    list<string> list = arrays.aslist("one", "two", "three", "four", "five");

    // converting list<string> to string using tostring() method
    string stringfromlist = list.tostring();

    // priting the string
    system.out.println("string : "+stringfromlist);
    }
}

输出:
string : [one, two, three, four, five]

java 8 string.join()

java 8 string添加了一个特殊的方法string.join()以将集合转换为具有给定分隔符的字符串。

public class listtostringusingstring_joinexample {

    public static void main(string args) {

    // creating a list with strings.
    list<string> list = arrays.aslist("one", "two", "three", "four", "five");

    // converting list<string> to string using tostring() method
    string stringfromlist = string.join("~", list);

    // priting the string
    system.out.println("string with tilde delimiter: "+stringfromlist);

    // delimiting with pipe | symbol.
    string stringpipe = string.join("|", list);

    // printing
    system.out.println("string with pipe delimiter : "+stringpipe);
    }
}

输出:
string with tilde delimiter: one~two~three~four~five
string with pipe delimiter : one|two|three|four|five

collectors.joining()

collectors.join()方法来自 java 8 stream api。collctors.joining()方法将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。

查看以下有关使用不同分隔符的 join() 方法的示例。但是,string.join() 方法不提供前缀和后缀选项。
如果您需要自定义分隔符、前缀和后缀,请使用这些。如果您不想要前缀和后缀,则提供空字符串以不在结果字符串前后添加任何内容。

public class listtostringusingstring_joinexample {

    public static void main(string args) {

    // creating a list with strings.
    list<string> list = arrays.aslist("one", "two", "three", "four", "five");

    // using java 8 collectors.joining with delimiter, prefix and suffix
    string joiningstring = list.stream().collect(collectors.joining("-", "{", "}"));

    // printing
    system.out.println("collectors.joining string : "+joiningstring);

    string joiningstring3 = list.stream().collect(collectors.joining("@", "", ""));

    // printing
    system.out.println("collectors.joining string with @ separator : "+joiningstring3);
    }
}

输出:
collectors.joining string : {one-two-three-four-five}
collectors.joining string with @ separator : one@two@three@four@five

apache commons stringutils.join()

最后的方法是使用来自 apache commons 包的外部库。该库有一个方法stringutils.join() ,它采用类似于 string.join() 方法的列表和分隔符。

public class listtostringusingstringutils_joinexample {

    public static void main(string args) {

    // creating a list with strings.
    list<string> list = arrays.aslist("one", "two", "three", "four", "five");

    // using java 8 collectors.joining with delimiter, prefix and suffix
    string joiningstring = stringutils.join(list, "^");

    // printing
    system.out.println("stringutils.join string with ^ delimiter : "+joiningstring);

    string joiningstring3 = stringutils.join(list, "$");

    // printing
    system.out.println("stringutils.join string with @ separator : "+joiningstring3);
    }
}

输出:
stringutils.join string with ^ delimiter : one^two^three^four^five
stringutils.join string with @ separator : one$two$three$four$five

结论

在本文中,我们已经看到了在 java 8 之前和之后如何使用不同的方法在 java 中将 list 转换为 string。对给定的分隔符使用 string.join() 方法从 list 生成字符串是很好的。或者,如果您想添加前缀或后缀,请使用带有分隔符、前缀和后缀值的流 api collectors.joining() 方法。

以上就是java中将list列表转换为字符串的三种方法的详细内容,更多关于java list列表转字符串的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com