Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用流API将字符串转换为字符序列_Java - Fatal编程技术网

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()