正如Peter Lawrey所说,转换不会将字符串转换为整数。
如果您的bean遵循标准bean约定(即您有getter和ampter),那么您可以使用BeanUtils。 BeanUtils会执行一些标准转换,您可以通过添加Convertor来添加更多内容。
请参阅以下示例:
import org.apache.commons.beanutils.BeanUtils;
public class BeanUtilsTest {
public static class Obj {
private int number;
private String string;
public void setNumber(int number) {
this.number = number;
}
public void setString(String string) {
this.string = string;
}
public String toString() {
return "number=" + number + " string=" + string;
}
}
public static void main(String args[]) throws Exception {
String[] values = new String[] { "1", "two" };
String[] properties = new String[] { "number", "string" };
Obj obj = new Obj();
for (int i = 0; i < properties.length; i++) {
BeanUtils.setProperty(obj, properties[i], values[i]);
}
System.out.println("obj=" + obj);
}
}这产生了输出:
obj=number=1 string=two请注意,上面的示例只有setter,但仍然有效。