我对 Java 和 Android 开发非常陌生。
我有一个案例,我需要使用 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 是动态的:
Person person;
Map personMap = person.getHashMap();
if( personMap.containsKey("somenodename") ){
person.[personMap.get("somenodename")] = "James";
}
if( personMap.containsKey("someothernodename") ){
person.[personMap.get("someothernodename")] = "Bond";
}
无论如何,是否可以为变量名称为...变量的类变量赋值?