如何在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)
}
}
目前还不可能。如果已经定义了构造函数,则@Data注释不会创建一个新构造函数。您可以使用一个自定义的活动注释来定制数据类以满足您的需要。
虽然从技术上讲不是构造函数,但您可以创建工厂方法以多种方式实例化您的数据类。