如何实例化一个类<! - ?扩展标签 - >对象?

时间:2018-06-07 11:23:44

标签: java class generics

我正在使用一个新的API而我在设置一个Class对象时遇到了麻烦,API定义了一个抽象类Tag,它的子命名为IntTag,DoubleTag,StringTag,ListTag ...等我正在与之战斗目前的最后一个是因为 构造函数如下:

public ListTag(final String name, final Class<? extends Tag> type, final List<Tag> value);

所以基本上我对第一个字段和最后一个字段没有问题,它就像一个json对象,这个是一个列表,所以你输入名称和里面的内容,但我不明白中间的,我不知道我不明白如何实例化这种物体,我应该把它放在里面。

有什么建议吗?我刚学会了什么?扩展Tag而不是Tag,这不是我的问题,也没有必要解释我的通用性(我希望?)

提前致谢!

-

此外,如果您希望我从here下载API。

1 个答案:

答案 0 :(得分:1)

你会传递一个扩展Tag的课程,例如IntTag.classDoubleTag.class等。

Class类型没有公共构造函数,因此您无法使用典型的new语法对其进行实例化。您必须依靠编译器来解析IntTag.class之类的class literals或通过Object.getClass等函数获取实例。