您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

无法从Guava解析通用参数TypeToken

无法从Guava解析通用参数TypeToken

这就是TypeToken “ hack”的 工作方式。它使用Class#getGenericSuperclass()(或getGenericSuperInterface)。它的javadoc状态

如果超类是参数化类型,则Type返回的对象必须准确反映

在这种情况下,也就是O在这里

public abstract class AbstractMenuOptionBuilder<O extends IClickable>

您将获得源代码中的硬编码内容。如果您将代码硬编码Link为类型参数,请按照此处的操作

MenuOptionBuilder<Link> builder = 
    new MenuOptionBuilder<Link>(new MenuOptionBean()) {};

然后你会得到Link

在这种情况下

MenuOptionBuilder<O> builder = 
    new MenuOptionBuilder<O>(new MenuOptionBean()){};

您已经进行了硬编码O,这就是您将得到的。

其他 2022/1/1 18:26:11 有557人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶