java – 存储接受引用参数的构造函数
发布时间:2020-12-14 16:25:21 所属栏目:Java 来源:网络整理
导读:我上课了 public class Person { private int age;} 在java 8中使用Supplier,我可以存储构造函数引用 SupplierPerson personSupplier = Person::new 但是,如果我的构造函数接受参数年龄如此 public class Person { private int age; public Person(int age)
我上课了
public class Person { private int age; } 在java 8中使用Supplier,我可以存储构造函数引用 Supplier<Person> personSupplier = Person::new 但是,如果我的构造函数接受参数年龄如此 public class Person { private int age; public Person(int age) {this.age = age;} } 现在 Supplier<Person> personSupplier = Person::new 不起作用,那么personSupplier的签名应该是什么?显然我可以做点什么. Supplier<Person> personSupplier = () -> new Person(10); 但是每个人的年龄必须不同,所以它不能解决我的问题. 可能我应该使用其他东西而不是供应商? 解决方法
您可以在Java中使用java.util.function.Function并在调用apply时提供年龄.
例如. Function<Integer,Person> personSupplier = Person::new; Person p1 = personSupplier.apply(10); Person p2 = personSupplier.apply(20); 这相当于 Function<Integer,Person> personSupplier = (age) -> new Person(age); Person p1 = personSupplier.apply(10); Person p2 = personSupplier.apply(20); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
热点阅读