1
我对Java和Android开发非常陌生。动态访问java对象变量
我有一种情况,我需要使用XML文档中的数据填充对象。 XML中的一些节点名称没有任何标准化,所以我创建了一个HashMap,其中的键是节点名称,值是它需要分配给的变量。
在PHP代码看起来是这样的(在基本条件):
$array = new Array("somenodename" => "firstname", "someothernodename" => "lastname");
$object = new Person();
$object->{$array['somenodename']} = "Whatever the XML node value was";
在Java中我已经得到了尽可能:
从对象我需要填充:
public String firstname;
public String lastname;
public static Map getHashMap(){
Map<String, String> map = new HashMap<String, String>();
map.put("somenodename", "firstname");
map.put("someothernodename", "lastname");
return map;
}
从填充对象的类中假设somenode和someothernode是dymanic:
Person person;
Map personMap = person.getHashMap();
if(personMap.containsKey("somenodename")){
person.[personMap.get("somenodename")] = "James";
}
if(personMap.containsKey("someothernodename")){
person.[personMap.get("someothernodename")] = "Bond";
}
是否有将值分配给变量名为变量的类变量?
反射是你的朋友。 –