public static <T> List<T> extractedList(Object o) {
// 创建返回对象
List<T> result = new ArrayList<T>();
// 判断对象是否数组
if (o.getClass().isArray()) {
// 是数组,则遍历
for (int i = 0; i < Array.getLength(o); i++) {
// 递归,不是数组将返回加入到列表尾,是则继续递归
result.add((T) extractedList(Array.get(o, i)));
}
} else {
// 加入对象到列表
result.add((T) o);
}
// 返回数组列表
return result;// new ArrayList<T>(result);
}
测试数据
String[][] menuListtest = new String[][] { { "name1", "text1", "cmd1", "key1" },
{ "name2", "text2", "cmd2", "key2" } };
得到结果
[[[name1], [text1], [cmd1], [key1]], [[name2], [text2], [cmd2], [key2]]]
应该的结果:
[[name1, text1, cmd1, key1], [name2, text2, cmd2, key2]]
不知道如何解决.
主要是想实现:不知道数组的维数的递归转换????