我是新來的Java,並試圖找出如何爲自定義對象動態設置屬性的值。我正在使用一個XML解析器,它循環遍歷XML文件中的元素,我只是試圖將字符串設置爲我的臨時值。動態設置對象屬性值
public MyObject tempObj; //gets instantiated before child elements
public String tempValue; //gets set before each loop
public void stepThroughChildElement(string elementName) {
switch (elementName) {
case "Id":
tempObj.Id = Integer.parseInt(tempValue);
break;
case "Version":
tempObj.Version = Float.parseFloat(tempValue);
break;
default:
//something like this
//tempObj.setProperty(elementName, tempValue);
//or
//tempObj[elementName] = tempValue;
break;
}
}
在JavaScript中,我只用第二個例子Object["property"] = value;
,但很明顯,Java不喜歡的工作。我也發現這個Properties對象,但我不知道它是否相關。
或者使用'Map'作爲[其他](http://stackoverflow.com/a/18828848/2071828)有建議。要獲得更靈活的方法,請使用JAXB等XML綁定框架。 –
不要試圖像使用另一種鬆散類型的語言一樣使用Java。 – Bart
我正在使用SAX http://docs.oracle.com/javase/tutorial/jaxp/sax/parsing.html – tedski