模仿OKhttp框架Builder初始化数据,如何优雅地装逼

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wei11556/article/details/73201438

创建类

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);


猜你喜欢

转载自blog.csdn.net/wei11556/article/details/73201438