引言
如何在 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列表转字符串的资料请关注代码网其它相关文章!
发表评论