这三段代码其实是一致的
//生成随机数流
Stream<Double> randoms = Stream.generate(Math::random);
Stream<Double> randoms2 = Stream.generate(() -> Math.random());
Stream<Double> randoms3 = Stream.generate(new Supplier<Double>() {
@Override
public Double get() {
return Math.random();
}
});
后面两段我都能理解,第一段为什么 Math 的静态方法也算是可以当做 Supplier 接口的实现者,我有点想不通