1

XTend (XText) の値オブジェクト (@Data で注釈付き) にセカンダリ コンストラクターを追加するにはどうすればよいですか?

次のことを試しましたが、コンパイルできません。

@Data class Dependency {
    val String groupId;
    val String artifactId;
    val String version;
    val String scope;

    new(String groupId, String artifactId, String version) {
        this(groupId, artifactId, version, null)
    }
} 
4

2 に答える 2

2

それは現在不可能です。コンストラクターが既に定義されている場合、@Data アノテーションは新しいコンストラクターを作成しません。カスタムの Active Annotation を使用して、ニーズに合わせてデータ クラスを調整できます。

于 2013-03-20T16:29:04.167 に答える
1

技術的にはコンストラクターではありませんが、ファクトリ メソッドを作成して、複数の方法でデータ クラスをインスタンス化できます。

于 2014-02-27T16:14:36.527 に答える