将 List 转换为 String

蔚落 2023-10-06 00:14 153阅读 0赞

将 List 转换为 String的几种方式

1、使用toString()方法将 List 转换为 String
2、使用Java 8 Streams Collectors api和String.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串。
3、 apache 库命令StringUtils.join()方法。
对于所有示例,输入列表必须是 String 作为List类型,否则我们需要将非字符串转换为 String。例如,List 是 Double 类型,然后需要先将 double 转换为字符串。

使用标准 toString() 方法
List.toString()是最简单的,但它在开头和结尾添加方括号,每个字符串用逗号分隔符分隔。
缺点是我们不能用另一个分隔符替换逗号,也不能去掉方括号。

  1. /**
  2. * Example to convert List to string using toString() method.
  3. *
  4. * @author javaprogramto.com
  5. *
  6. */
  7. public class ListToStringUsingToStringExample {
  8. public static void main(String args) {
  9. // creating a list with strings.
  10. List<String> list = Arrays.asList("One",
  11. "Two",
  12. "Three",
  13. "Four",
  14. "Five");
  15. // converting List<String> to String using toString() method
  16. String stringFromList = list.toString();
  17. // priting the string
  18. System.out.println("String : "+stringFromList);
  19. }
  20. }
  21. 输出:String : [One, Two, Three, Four, Five]

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

  1. public class ListToStringUsingString_JoinExample {
  2. public static void main(String args) {
  3. // creating a list with strings.
  4. List<String> list = Arrays.asList("One",
  5. "Two",
  6. "Three",
  7. "Four",
  8. "Five");
  9. // converting List<String> to String using toString() method
  10. String stringFromList = String.join("~", list);
  11. // priting the string
  12. System.out.println("String with tilde delimiter: "+stringFromList);
  13. // delimiting with pipe | symbol.
  14. String stringPipe = String.join("|", list);
  15. // printing
  16. System.out.println("String with pipe delimiter : "+stringPipe);
  17. }
  18. }
  19. 输出:
  20. String with tilde delimiter: One~Two~Three~Four~Five
  21. String with pipe delimiter : One|Two|Three|Four|Five

Collectors.joining()
Collectors.join()方法来自 java 8 stream api。Collctors.joining()方法将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。
查看以下有关使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前缀和后缀选项。
如果您需要自定义分隔符、前缀和后缀,请使用这些。如果您不想要前缀和后缀,则提供空字符串以不在结果字符串前后添加任何内容。

  1. public class ListToStringUsingString_JoinExample {
  2. public static void main(String args) {
  3. // creating a list with strings.
  4. List<String> list = Arrays.asList("One",
  5. "Two",
  6. "Three",
  7. "Four",
  8. "Five");
  9. // using java 8 Collectors.joining with delimiter, prefix and suffix
  10. String joiningString = list.stream().collect(Collectors.joining("-", "{", "}"));
  11. // printing
  12. System.out.println("Collectors.joining string : "+joiningString);
  13. String joiningString3 = list.stream().collect(Collectors.joining("@", "", ""));
  14. // printing
  15. System.out.println("Collectors.joining string with @ separator : "+joiningString3);
  16. }
  17. }
  18. 输出:
  19. Collectors.joining string : {
  20. One-Two-Three-Four-Five}
  21. Collectors.joining string with @ separator : One@Two@Three@Four@Five

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

  1. public class ListToStringUsingStringUtils_JoinExample {
  2. public static void main(String args) {
  3. // creating a list with strings.
  4. List<String> list = Arrays.asList("One",
  5. "Two",
  6. "Three",
  7. "Four",
  8. "Five");
  9. // using java 8 Collectors.joining with delimiter, prefix and suffix
  10. String joiningString = StringUtils.join(list, "^");
  11. // printing
  12. System.out.println("StringUtils.join string with ^ delimiter : "+joiningString);
  13. String joiningString3 = StringUtils.join(list, "$");
  14. // printing
  15. System.out.println("StringUtils.join string with @ separator : "+joiningString3);
  16. }
  17. }
  18. 输出:
  19. StringUtils.join string with ^ delimiter : One^Two^Three^Four^Five
  20. StringUtils.join string with @ separator : One$Two$Three$Four$Five

发表评论

表情:
评论列表 (有 0 条评论,153人围观)

还没有评论,来说两句吧...

相关阅读