【发布时间】:2011-05-03 19:05:37
【问题描述】:
我有三个数组(大小相同):
-
JSONArray jsonArr包含许多字符串。 -
Class<?> classArr[]包含参数类型。 -
Object objArr[]还没有包含任何内容(但我保证我们会把它填满)
我需要将 jsonArr 中的每个字符串转换为 classArr 中相同索引的类型,并将结果对象放入 objArr 中的适当索引中。
例如:
Array \ index | 1 | 2 | 3 | 4
--------------+---------+---------+---------+-------
jsonArr | "1" | "false" | "false" | "2"
classArr | int | boolean | String | char
应该导致:
objArr | 1 | false | "false" | 2
我目前使用以下方法(在每个对象的循环中)转换参数并创建objArray:
if (classArr[i].equals(int.class))
objArr[i] = Integer.parseInt(jsonArr.get(i));
else if (classArr[i].equals(boolean.class))
objArr[i] = Boolean.parseBoolean(jsonArr.get(i));
....
这种方法对我来说很好用,但我想知道 - 有没有更好的方法将 JSONArray 转换为我在列表中的类型,或者我没有比 if-else 方法更好的选择?强>
【问题讨论】:
标签: java reflection type-conversion