AutoValue - 公共构造函数可能

时间:2016-12-04 12:53:44

标签: java auto-value

这可能吗?或者是建筑商的唯一解决方案?拥有10个字段的类意味着必须复制构建器中的10个字段,以便AutoValue起作用。或者通过手动编写的创建功能?或者我错过了什么?

我只是想在包裹之外创建我的AutoValue类的对象...

这是一个简短的例子:

@AutoValue
public abstract class Data
{
    // Can something like this be auto generated????
    public static Data create(String field1, String field2, ...)
    {
        return new AutoValue_Data(field1, field2, ...);
    }

    public abstract String field1();
    public abstract String field2();
    ...

    @AutoValue.Builder
    public abstract static class Builder {
        // Or can I tell the builder to create setters for ALL fields 
        // automatically instead of having to declare them one by one?
        public abstract Builder setField1(String field1);
        public abstract Builder setField2(String field2);
        ...
        public abstract Data build();
    }
}

1 个答案:

答案 0 :(得分:0)

create()方法只是构造函数的包装器,用于隐藏类AutoValue_Data本身的实现细节。如果您不想自己编写所有内容,可以找到plugin for Android Studio自动创建这些方法。