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