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

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -