1
これは可能ですか?それともビルダーの唯一の解決策ですか? 10個のフィールドを持つクラスを持つことは、AutoValue
が機能するように、ビルダー内の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();
}
}
ビルダーパターンを使用しない場合は、リフレクションを使用できます。 –