java中怎么将String类型的值转化后赋值给object
我有一个类
@XmlRootElement
public class NameAndAnyValueType {
@XmlElement(required = true)
protected String name;
@XmlAnyElement(lax = true)
protected Object any;
/**
* 获取name属性的值。
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
/**
* 设置name属性的值。
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* 获取any属性的值。
*
* @return
* possible object is
* {@link Object }
* {@link Element }
*
*/
public Object getAny() {
return any;
}
/**
* 设置any属性的值。
*
* @param value
* allowed object is
* {@link Object }
* {@link Element }
*
*/
public void setAny(Object value) {
this.any = value;
}
想在setAny中传入String类型的值,然后用jaxbcontent转换为xml文档
JAXBContext jc = JAXBContext.newInstance("Xsdjava"); // 包的命名空间
Marshaller m = null;
synchronized (jc) {
m = jc.createMarshaller();
}
m.setProperty(Marshaller.JAXB_ENCODING, "GBK");
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(type, System.out);
System.out.println();
} catch (PropertyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
发现报错了,[com.sun.istack.SAXException2: 由于类型 "java.lang.String" 缺少 @XmlRootElement 注释, 无法将该类型编集为元素]
看了一下发现string的值不能直接赋值到object。以此类推,如果我放入int值,会报Integer错误
怎么解决这个问题