模仿OKhttp框架Builder初始化資料,如何優雅地裝逼
阿新 • • 發佈:2018-12-27
建立類
package com.lisn.testapp; public class Taskinfo { private String name; //檔名 private String url; //檔案url private int threadcount; //文需要的執行緒 public Taskinfo(Builder builder) { this.name = builder.name; this.url = builder.url; this.threadcount = builder.threadcount; } public static class Builder{ private String name; private String url; private int threadcount; public Builder setName(String name){ this.name = name; return this; } public Builder setUrl(String url){ this.url = url; return this; } public Builder setThreadcount(int threadcount){ this.threadcount = threadcount; return this; } public Taskinfo build(){ return new Taskinfo(this); } } @Override public String toString() { return "Taskinfo{" + "name='" + name + '\'' + ", url='" + url + '\'' + ", threadcount=" + threadcount + '}'; } }
使用方法
Taskinfo taskinfo = new Taskinfo.Builder()
.setName("百度")
.setUrl("www.baidu.com")
.setThreadcount(5)
.build();
Log.e("TAG", "onCreate: "+taskinfo);