首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mapstruct:泛型映射

Mapstruct:泛型映射
EN

Stack Overflow用户
提问于 2015-08-19 13:27:31
回答 1查看 7.3K关注 0票数 2
代码语言:javascript
复制
@Mapper
public interface MyMapper<X extends Base_1, Y extends Base_2>{
    public X mapBase_2ToBase_1(Y obj);
}

我希望将泛型类型Y的对象映射到泛型类型X的另一个对象。用mapstruct做这种事有可能吗?还是必须为泛型映射编写自定义映射程序?当我编译上面的代码时,我会得到编译错误。

代码语言:javascript
复制
Caused by: java.lang.NullPointerException
    at org.mapstruct.ap.util.SpecificCompilerWorkarounds.replaceTypeElementIfNecessary(SpecificCompilerWorkarounds.java:90)
    at org.mapstruct.ap.util.Executables.getAllEnclosedExecutableElements(Executables.java:189)
    at org.mapstruct.ap.model.common.Type.getAllExecutables(Type.java:395)
    at org.mapstruct.ap.model.common.Type.getSetters(Type.java:464)
    at org.mapstruct.ap.model.common.Type.getPropertyWriteAccessors(Type.java:353)
    at org.mapstruct.ap.model.BeanMappingMethod$Builder.souceMethod(BeanMappingMethod.java:93)
    at org.mapstruct.ap.processor.MapperCreationProcessor.getMappingMethods(MapperCreationProcessor.java:345)
    at org.mapstruct.ap.processor.MapperCreationProcessor.getMapper(MapperCreationProcessor.java:143)
    at org.mapstruct.ap.processor.MapperCreationProcessor.process(MapperCreationProcessor.java:114)
    at org.mapstruct.ap.processor.MapperCreationProcessor.process(MapperCreationProcessor.java:73)
    at org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:193)
    at org.mapstruct.ap.MappingProcessor.processMapperTypeElement(MappingProcessor.java:173)
    at org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:154)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 23:28:46

我已经在我们的追踪器中注册了一个问题来解决NPE的问题。不过,我怀疑我们能否为这样的地图绘制合同创造一个适当的实现。我们无法判断哪种类型应该实例化为方法的结果类型。

以如下方式使用类型参数的理由是什么?您希望生成什么样的实现?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32096886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档