【发布时间】:2018-10-02 17:39:05
【问题描述】:
我正在尝试学习 Java-9 中的新功能我开始了解 Stream 的 dropWhile 方法,但它在两种不同的场景中返回不同的值。 这是我的代码
package src.module;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.List;
public class Test {
public static void main(String[] args) {
String s[] = new String[3];
s[0] = "Hello";
s[1] = "";
s[2] = "World";
List<String> value = Stream.of(s).dropWhile(a -> a.isEmpty()).collect(Collectors.toList());
System.out.println(value);
List<String> values = Stream.of("a", "b", "c", "", "e", "f").dropWhile(d -> !d.isEmpty())
.collect(Collectors.toList());
System.out.println(values);
}
}
这是我得到的答案
[Hello, , World]
[, e, f]
我认为在第一个条件下它应该打印 [,World]。 提前致谢。
【问题讨论】:
-
我的疑问是在第一个条件下它只返回 Hello 并且应该删除左边的两个值。不是吗?
标签: java java-stream java-9