有时我想对字符串中的每个字符做一些简单的事情。不幸的是,因为字符串是不可变的,所以除了循环遍历字符串之外没有好的方法,这可能会非常冗长。如果您改用 Stream,则可以做得更短,只需一两行。
有没有办法转换 String
进入Stream<Character>
?
最佳答案
您可以使用 chars()
CharSequence
中提供的方法自 String
类实现此接口(interface),您可以访问它。
chars()
方法返回 IntStream
, 所以你需要把它转换成 (char)
如果您想转换 IntStream
至 Stream<Character>
例如
public class Foo {
public static void main(String[] args) {
String x = "new";
Stream<Character> characters = x.chars().mapToObj(i -> (char) i);
characters.forEach(System.out::println);
}
}
关于java - 将字符串转换为 java.util.Stream<Character>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471799/