猿问

请教:如何根据字符串中的内容创建对象

public class CreateObj {
public Object createObj(){
String objName = "Person";
Map fieldMap = new HashMap();
fieldMap.put("name", "java.lang.String");
fieldMap.put("age", "int");
return null;
}
}

上面这个类中的createObj方法能根据 objName和filedMap中的值创建一个和
public class Person {
private String name;
private int age;
}
Person person1 = new Person();
相同的对象?


手掌心
浏览 969回答 10
10回答

忽然笑

不是Class.forName() 吗?

慕无忌1623718

通过反射很容易的吧,

人到中年有点甜

反射或者自己写注解

饮歌长啸

class Persion{String name;int age;@XmlAttributepublic String getName() {return name};public void setName(...){...}@XmlAttributepublic String getAge(){return age};public void setAge(...){...};}String xml = "<?xml version=\"1.0\">";ByteArrayInputStream inStream = new ByteArrayInputStream(xml.getBytes());JAXBContext jc = JAXBContext.newInstance(Persion.class);StreamSource xml = new StreamSource(inputStream);Unmarshaller unmarshaller = jc.createUnmarshaller();JAXBElement je1 = unmarshaller.unmarshal(xml, pclass);Persion persion = je1.getValue();通过jaxb解析xml字符串生成对象
随时随地看视频慕课网APP

相关分类

Java
我要回答