创建实用程序以在java中将对象强制转换为bean

时间:2015-05-28 17:18:46

标签: java class object casting

我正在使用一个辅助类将类实例和对象传递给(对象通常是一个JSON主体),并且在使用泛型类时无法完成转换。如果它确实返回了类,那么我认为我的bean不能转换为Java.lang.Class,或者下面的问题我得到了一个转换异常。这样做的正确方法是什么?

public static Class castClass(Object o, Class c) {
    try {

        c = (Class) o;
        return c;


    } catch (Exception e) {
        e.getMessage();
    }

    return null;
}

1 个答案:

答案 0 :(得分:1)

您尝试将对象投射到Class,但我打赌您打算将对象投射到c 代表的类型。

如果是这样,您应该使用Class.cast。例如:

Class<String> c = String.class;
String s = c.cast(o);

如果您想要返回null以防错误的类(就像您在辅助方法中所做的那样),您可以执行以下操作:

public static <T> T castClass(Object o, Class<T> c) {
    try {
        return c.cast(o);
    } catch (ClassCastException e) {
        e.getMessage();
    }
    return null;
}