gpt4 book ai didi

java - 如何获取泛型类的类引用

转载 作者:行者123 更新时间:2023-11-30 04:15:35 25 4
gpt4 key购买 nike

我是java新手(来自Actionscript 3.0背景),我正在尝试将一些actionscript代码移植到java(as3signals到jsignal)

我正在尝试获取通用类的类名,以便将其传递给 super 调用。

在 Actionscript 3.0 中,这将是

super(Vector.<TileVO>,Boolean);  

上面的代码将类引用传递给 TileVO 和 Boolean 的 Vector 的构造函数。

在 Java 中这似乎不起作用,我知道我做错了什么:

super(ASVector.class<TileVO>,boolean.class);

简单来说,如何获取由 TileVO 对象组成的 ASVector 类的类引用?

谢谢!

稍后编辑:

我刚刚意识到代码没有正确显示(被视为html)

发布一些源代码:

public Signal(Class<?>... params) {
this.params = params;
}

我需要通过构造函数传递给 Signal 类引用。

new Signal(int.class)例如作品

我需要知道如何将这种形式的对象的类传递给 Signal 的构造函数:

ASVector<TileVO>

我试过ASVector.class<TileVO>而且似乎不起作用!

最佳答案

编译时,泛型类型参数<TileVO>在您的情况下经历“删除”;编译器将它们的一些用法转换为隐式转换,但有关它们的信息在字节码中被丢弃。这意味着对于您的 API,ASVector<TileVO> 没有特定类型。 ,运行时类型就是 ASVector ,所以你传入 ASVector.class 。如果运行时处理程序有必要知道 ASVector 的内容是 TileVO对象,您还需要传入 TileVO.class作为可变参数中某个点的参数。

关于java - 如何获取泛型类的类引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18491781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com