Java8consumer风格Builder-创新互联

创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站制作、做网站, 我们的网页设计师为您提供的解决方案。> 1 public static class GenericBuilder { 2 private final Supplier instantiate; 3 4 private final List> consumers = new ArrayList<>(); 5 6 public GenericBuilder(Supplier instantiate) { 7 this.instantiate = instantiate; 8 } 9 10 public static GenericBuilder of(Supplier instantiator) { 11 return new GenericBuilder<>(instantiator); 12 } 13 14 public GenericBuilder with(BiConsumer biConsumer, U value) { 15 Consumer setOperationFunction = instance -> biConsumer.accept(instance, value); 16 consumers.add(setOperationFunction); 17 return this; 18 } 19 20 public T build() { 21 T instance = instantiate.get(); 22 23 // loop call each set function with object instance!24 consumers.forEach(consumer -> consumer.accept(instance)); 25 consumers.clear(); 26 27 return instance; 28 } 29 }使用:Java8consumer风格B
uilder
 1 public class Dummy {
 2 private String name;
 3 private Integer age;
 4 private Boolean foreigner;
 5 
 6 public String getName() {
 7  return name;
 8         }
 9 
10 public void setName(String name) {
11  this.name = name;
12         }
13 
14 public Integer getAge() {
15  return age;
16         }
17 
18 public void setAge(Integer age) {
19  this.age = age;
20         }
21 
22 public Boolean getForeigner() {
23  return foreigner;
24         }
25 
26 public void setForeigner(Boolean foreigner) {
27  this.foreigner = foreigner;
28         }
29 
30 
31     }
Dummy build = GenericBuilder.of(Dummy::new).with(Dummy::setAge, 12)
                .with(Dummy::setName,"Vodoo")
                .with(Dummy::setForeigner,false).build();

网页标题:Java8consumer风格Builder-创新互联
分享URL:http://scyanting.com/article/djhcgi.html