外贸网站建设 联雅,基于jsp的购物网站开发,网站制作com cn域名有什么区别,制作大型网站开发之前已经写过一篇通用Builder来构建实例对象的#xff08;基于Java8的新特性写一个通用的Builder工具类_java手动写一个builder-CSDN博客#xff09;但是这个builder不能构建集合#xff0c;也就是list和map#xff0c;今天突然心血来潮#xff0c;想写写集合类的builder基于Java8的新特性写一个通用的Builder工具类_java手动写一个builder-CSDN博客但是这个builder不能构建集合也就是list和map今天突然心血来潮想写写集合类的builder这两个builder相比于通用的builder要简单易懂的多废话不多说直接上代码
Mapbuilder
public class MapBuilderK, V {private MapK, V map;private MapBuilder(MapK, V map) {this.map map;}public static K, V MapBuilderK, V ofMap() {return new MapBuilder(new HashMapK, V());}public MapBuilderK, V put(K key, V value) {this.map.put(key, value);return this;}public MapK, V build() {return this.map;}public static void main(String[] args) {MapString, Integer map MapBuilder.String, IntegerofMap().put(a, 1).put(b, 2).put(c, 3).build();System.out.println(map); // 输出{a1, b2, c3}}
}
ListBuilder:
public class ListBuilderT {private ListT list;private ListBuilder(ListT list) {this.list list;}public static T ListBuilderT ofList() {return new ListBuilder(new ArrayListT());}public ListBuilderT add(T t) {this.list.add(t);return this;}public ListT build() {return this.list;}public static void main(String[] args) {ListInteger integers ListBuilder.IntegerofList().add(1).build();System.err.println(integers);}
}