Java 如何使用流API将字符串转换为字符序列
以下代码可以转换为流吗?我已经试过很多次了,但是我有点被困在某个地方了Java 如何使用流API将字符串转换为字符序列,java,Java,以下代码可以转换为流吗?我已经试过很多次了,但是我有点被困在某个地方了 Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String line = sc.nextLine(); line.chars().forEach(i -> System.out.println((char)i)); } sc.close(); 是的,您可以从扫描仪创建拆分器,然后将其传递到以创建IntStream。以下是一个例
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String line = sc.nextLine();
line.chars().forEach(i -> System.out.println((char)i));
}
sc.close();
是的,您可以从
扫描仪创建拆分器
,然后将其传递到以创建IntStream
。以下是一个例子:
Scanner sc = new Scanner(System.in);
try ( IntStream is = StreamSupport.stream(
Spliterators.spliterator(sc, Long.MAX_VALUE, Spliterator.ORDERED), false)
.onClose(sc::close)
.flatMapToInt(s -> s.chars()); ) {
is.forEach(i -> System.out.println((char) i));
}
但你总是在那里用小溪。我不知道你想转换哪个部分。对我来说这很好?我知道chars返回IntStream,但我也想替换while循环。如果是stream,你在发布这个问题之前搜索过了吗,这是互联网上的一个基本例子。@Seelenvirtuose我想投票是因为期望将Scanner
下一个元素转换为流式,哪种元素看起来很难。你能简单描述一下吗?不鼓励只使用代码的答案。
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String line = sc.nextLine();
Arrays.stream(line.split(""))
.forEach(System.out::println);
}
sc.close()