您必须使用
Class实例,因为在编译过程中会擦除通用类型。
public static <T> T convertInstanceOfObject(Object o, Class<T> clazz) { try { return clazz.cast(o); } catch(ClassCastException e) { return null; }}该方法的声明是:
public T cast(Object o)
这也可以用于数组类型。它看起来像这样:
final Class<int[]> intArrayType = int[].class;final Object someObject = new int[]{1,2,3};final int[] instance = convertInstanceOfObject(someObject, intArrayType);请注意,当
someObject传递给时,
convertToInstanceOfObject它具有编译时间类型
Object。



