小编pet*_*rbo的帖子

存储在引用中接受参数的构造函数

我上课了

public class Person {
    private int age;
}
Run Code Online (Sandbox Code Playgroud)

并且Supplier在java 8中使用,我可以存储构造函数引用

Supplier<Person> personSupplier = Person::new
Run Code Online (Sandbox Code Playgroud)

但是如果我的构造函数接受age像这样的参数呢

public class Person {
    private int age;
    public Person(int age) {this.age = age;}
}
Run Code Online (Sandbox Code Playgroud)

现在

Supplier<Person> personSupplier = Person::new
Run Code Online (Sandbox Code Playgroud)

不起作用,那么什么应该是正确的签名personSupplier?显然我可以做点什么.

Supplier<Person> personSupplier = () -> new Person(10);
Run Code Online (Sandbox Code Playgroud)

但是每个人的年龄必须不同,所以它不能解决我的问题.

可能是我应该用别的而不是Supplier

java java-8

6
推荐指数
2
解决办法
261
查看次数

生成无限DoubleStream

我可以生成Stream<Double>使用generate.例如

Stream.generate(Math::random).limit(10).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

如何生成infinte随机DoubleStream而不是Stream<Double>

java java-8 java-stream

4
推荐指数
1
解决办法
752
查看次数

标签 统计

java ×2

java-8 ×2

java-stream ×1