如何从 java 中的对象获取运行时类型
How to obtain the runtime type from an object in java
我有这个代码:
public void doSomething(Integer param){
.
.
.
JAXBElement<Integer> jaxb = new JAXBElement<Integer>
(new QName("uri","local"),Integer.class, param);
.
.
.
}
而且我希望它更灵活。我需要参数是 Object 类型,但我不知道如何更改此行:
JAXBElement<what_do_I_put_here> jaxb = new JAXBElement<what_do_I_put_here>(new QName("uri","local"),Integer.class, 参数);
我希望它使用 param
中存储的类型的运行时 class
public void doSomething(Object param){
.
.
.
JAXBElement<??????> jaxb = new JAXBElement<??????>
(new QName("uri","local"),?????.class, param);
.
.
.
}
不完全确定(目前无法访问 IDE)但不是
public <T extends Object> void doSomething(T param) {
.
.
JAXBElement<T> jaxb = new JAXBElement<T>(new QName("uri", "local"), (Class<T>) param.getClass(), param);
.
.
}
我有这个代码:
public void doSomething(Integer param){
.
.
.
JAXBElement<Integer> jaxb = new JAXBElement<Integer>
(new QName("uri","local"),Integer.class, param);
.
.
.
}
而且我希望它更灵活。我需要参数是 Object 类型,但我不知道如何更改此行:
JAXBElement<what_do_I_put_here> jaxb = new JAXBElement<what_do_I_put_here>(new QName("uri","local"),Integer.class, 参数);
我希望它使用 param
中存储的类型的运行时 classpublic void doSomething(Object param){
.
.
.
JAXBElement<??????> jaxb = new JAXBElement<??????>
(new QName("uri","local"),?????.class, param);
.
.
.
}
不完全确定(目前无法访问 IDE)但不是
public <T extends Object> void doSomething(T param) {
.
.
JAXBElement<T> jaxb = new JAXBElement<T>(new QName("uri", "local"), (Class<T>) param.getClass(), param);
.
.
}