泛型类型转换的对象

时间:2020-06-11 06:56:49

标签: java generics

我正在使用JaxB2Marshaller,并希望将未编组的对象转换为通用类型

JAXBElement<?> myPayload = (JAXBElement<?>)marshaller.unmarshal(new StreamSource(new 
ByteArrayInputStream(otherPayload)))

我希望(?)是接口的一种类型(例如BaseMessageType)。

我是否需要编写如下的强制转换方法,或者有更简单的方法做到这一点?

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

1 个答案:

答案 0 :(得分:1)

这可能类似于以下内容:

public static <T extends BaseMessageType> T convertInstanceOfObject(Object o, Class<T> clazz) {
            try {
                return clazz.cast(o);
            } catch (ClassCastException e) {
                return null;
            }
        }

<T><T extends BaseMessageType>