java - Store constructor that accepts parameter in reference -
i have class
public class person { private int age; }
and using supplier
in java 8 , can store constructor reference
supplier<person> personsupplier = person::new
but if constructor accepts parameter age
like
public class person { private int age; public person(int age) {this.age = age;} }
now
supplier<person> personsupplier = person::new
doesn't works, should correct signature personsupplier
? can like.
supplier<person> personsupplier = () -> new person(10);
but age must different each person, doesn't solve problem.
may should use else instead of supplier
?
you can use java.util.function.function
in java , supply age
when calling apply
.
e.g.
function<integer, person> personsupplier = person::new; person p1 = personsupplier.apply(10); person p2 = personsupplier.apply(20);
which equivalent to
function<integer, person> personsupplier = (age) -> new person(age); person p1 = personsupplier.apply(10); person p2 = personsupplier.apply(20);
Comments
Post a Comment