【问题标题】:Convert a given string to a List of characters using latest java features(JDK 9,JDK 16) along with streams (JDK 8)使用最新的 Java 功能(JDK 9、JDK 16)以及流(JDK 8)将给定的字符串转换为字符列表
【发布时间】:2022-09-22 23:20:19
【问题描述】:

我正在分享一种使用最新的 Java 功能将给定字符串转换为字符列表的方法,例如chars() of JDK 9,toList() of JDK 16.

  • 虽然在 SO 上非常欢迎自我回答的问题,但问题本身也应该符合 SO 的质量指南,而您的则不符合(基本上它只是一个标题和一个“钩子”)。你能edit 把它变成你希望它回答的各种问题的例子吗?

标签: java java-8 java-stream java-9 java-16


【解决方案1】:

我使用最新的 Java 特性来实现给定字符串到字符列表的转换。

  • chars():它介绍于JDK 9它返回一个IntStream 的 char 值。

  • toList() :它介绍于JDK 16它返回一个流元素的不可变列表。.

笔记:

如果您需要一个必须使用collect(Collectors.toList()) 而不是toList()可变列表(好像你想在这个列表上做一些修改)否则你可以使用toList()

由于 SONAR 检查也会提示建议

将“Stream.collect(Collectors.toList())”的这种用法替换为“Stream.toList()

请在下面找到代码:

public class StringToCharList {

  public static void main(String[] args) {

    String str = "helloworld";

    List<Character> list = str.chars().mapToObj(x -> (char)x).toList();

    System.out.println(list);
  }
}

输出:

[h, e, l, l, o, w, o, r, l, d]

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多