1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| public class Test {
public static void main(String[] args) { Map<String, NodeProvider<Node>> map = new HashMap<>(); map.put("ik", TestInner::getNode);
System.out.println(map.get("ik").get("name", 1).getName()); System.out.println(map.get("ik").get("name", 200).getAge());
} }
interface NodeProvider<T> { T get(String name, int age); }
class Node { private String name; private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; } }
class TestInner { public static Node getNode(String name, int age) { Node node = new Node(); node.setAge(age); node.setName(name);
return node; } }
|