是否可以将泛型转换为 Object[],如果不行的话该怎么办?
public class OneClass<T extends Serializable> {
public void someMethod()
{
T castObject = (T) value;
//The method createArrayOf(String, Object[]) in the type Connection is not applicable for the arguments (String, T)
//So method signature is createArrayOf(String, Object[])
Array array = connection.createArrayOf("integer", castObject);
}
}
但我想使用这个泛型作为下一个:
OneClass<Integer[]>
或
OneClass<String[][]>
最佳答案
当然,这是可能的;说:
T whatever = ... coming from somewhere
Object[] castedObjects = (Object[]) whatever;
如果这是个好主意;这可能是完全不同的讨论。但为了进行这样的讨论,我们必须看到更多的“背景”——你的要求是什么;你的要求是什么?该类的目的是什么?它应该如何处理这些对象数组?!
但是您眼前的问题很容易解决;如上图所示。
关于java - 将泛型 T 转换为 Object[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39166740/