创建实用程序将对象转换为java中的bean



我正在研究一个助手类来传递类实例和对象(对象通常是JSON体),并且在使用泛型类时不能完全获得铸造工作。如果它确实返回class,它会提示我的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;
}

您试图将对象强制转换为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;
}

最新更新