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