无法从Guava解析通用参数TypeToken

无法从Guava解析通用参数TypeToken,第1张

无法从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
,这就是您将得到的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5033785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存