假设我有这些类:
class B<T> {}
class A<T> {
}实例化A:
A<Float[]> a = new A<>();在A的构造函数中,我希望用T类型初始化B类,而不是将其作为数组
B<Float> b = new B<>();发布于 2019-12-07 00:21:16
在不了解更多细节的情况下,我不能100%确定这是否可行,但是:
将A的泛型类型参数从Float[]改为Float。然后,在A的接受/返回T的方法上,将它们更改为指定T[]。
如果这对你不起作用,你的选择是:*使用反射(有点无意义,因为泛型类型强制只在Java中编译时)*使用兼容的超类和强制转换(语法相当令人讨厌,并且你几乎不会从编译器获得任何帮助)*使用普通的、非参数化的类型(语法很好,仍然没有来自编译器的帮助)
如果您编辑您的问题以包含更多详细信息,我很乐意对此进行编辑,以提供更具体的指导。
https://stackoverflow.com/questions/59214326
复制相似问题