如何解决使用 MapStruct 使用 builder 克隆类不会克隆成员变量
这是带有构建器的类:
public class ProtoParent {
public int getA() {
return a;
}
private int a;
public ProtoParent(ProtoParentBuilder builder) {
this.a = builder.a;
}
public static ProtoParentBuilder builder() {
return new ProtoParentBuilder();
}
public ProtoParentBuilder toBuilder() {
return new ProtoParentBuilder(this);
}
public static class ProtoParentBuilder {
private int a;
public ProtoParentBuilder() {
}
public ProtoParentBuilder(ProtoParent protoParent) {
this.a = protoParent.getA();
}
public ProtoParentBuilder a(final int a) {
this.a = a;
return this;
}
private ProtoParent build() {
return new ProtoParent(this);
}
}
}
这是映射器界面:
@Mapper
public interface CompositionMapper {
ProtoParent map(ProtoParent protoParent);
}
public class CompositionMapperImpl implements CompositionMapper {
public CompositionMapperImpl() {
}
public ProtoParent map(ProtoParent protoParent) {
if (protoParent == null) {
return null;
} else {
ProtoParentBuilder builder = null;
ProtoParent protoParent1 = new ProtoParent((ProtoParentBuilder)builder);
return protoParent1;
}
}
}
请注意,在 map 方法中,字段 a 没有被复制,并且输入 arg 根本没有被使用。不知道为什么会看到这个问题。有人可以指出我缺少什么吗?
我使用的是 mapstruct 1.4.0-Final。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。