1.精简版
package generic;
import java.util.HashMap;
import java.util.Map;
public class TestGenericMap<K, V>{
public Builder<K, V> bd;
public Map<K, V> map(){
return bd.map;
}
public static class Builder<K, V>{
Map<K,V> map;
public Builder(){
map = new HashMap<K,V>();
}
public Builder<K, V> put(K k, V v){
map.put(k, v);
return this;
}
}
public static void main(String[] args){
TestGenericMap.Builder<Integer,String> tm = new TestGenericMap.Builder<Integer,String>();
tm.put(1,"a").put(2,"b").put(3,"c");
System.out.println(tm.map);
}
}
2.相对精简版的增强版
package generic;
import java.util.HashMap;
import java.util.Map;
public class TestGenericMap<K, V>{
public Builder<K, V> bd;
public TestGenericMap(Builder<K, V> bd){
this.bd = bd;
}
public V get(K k){
return bd.map.get(k);
}
public Map<K, V> map(){
return bd.map;
}
public static class Builder<K, V>{
Map<K,V> map;
public Builder(){
map = new HashMap<K,V>();
}
public Builder<K, V> put(K k, V v){
map.put(k, v);
return this;
}
public TestGenericMap<K, V> builder(){
return new TestGenericMap<K, V>(this);
}
}
public static void main(String[] args){
TestGenericMap.Builder<Integer,String> tm = new TestGenericMap.Builder<Integer,String>();
tm.put(1,"a").put(2,"b").put(3,"c").builder().map();
System.out.println(tm.builder().get(2));
}
}
以上参考:开发测试21天