这就是
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,这就是您将得到的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)