我正在使用一个新的 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 .
最佳答案
您可以传入一个扩展 Tag
的类,例如 IntTag.class
、DoubleTag.class
等。
Class
type 没有公共(public)构造函数,因此您无法使用典型的 new
语法实例化它。你必须依靠编译器来解析 class literals例如 IntTag.class
或通过类似 Object.getClass
的函数获取实例.
关于java - 如何实例化一个类<?扩展标签>对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50739989/