【发布时间】:2012-02-22 10:08:00
【问题描述】:
我有一种情况需要将Object 转换为List<SomeClassName>。
我从请求参数中得到对象值List<SomeClass>。
我需要将此Object 转换为List<SomeClass>。我在编译时不知道SomeClass。
我可以在运行时获取类类型为String。
示例:
private static Object createList(Object object){
List dd = (List)object;
//the List contains the objects of this class
Class cls = Class.forName(dd.get(0).getClass().getName());
//I would like to cast this Object to List<thisClass>
}
例如,类是jp.Dto.UserDto,那么转换应该是List<jp.dto.UserDto> list = (List<jp.dto.UserDto>)Object;,但这里的问题是我在编译时不知道jp.dto.UserDto 类。我只能在运行时得到它。
如何做到这一点?
【问题讨论】:
-
这还不足以理解你想要做什么。您是否要再次将列表作为对象返回?你会以同样的方式遍历所有列表吗?你为什么要传递对象而不是强类型列表。我认为,您可能正在寻找的一般想法是泛型 (en.wikipedia.org/wiki/Generics_in_Java)
-
我使用 java 反射的要求我需要获取列表值,并希望通过循环进行迭代。使用反射 API 我只能获取对象..所以在获取列表属性的对象值之后.我想迭代列表值...
标签: java