在不知道集合的具体类型的情况下,如何创建一个Collection。
集合的具体类型可能是List、Set,也可能是ArrayList等等如何用反射来创建一个Collection?
集合的具体类型可能是List、Set,也可能是ArrayList等等如何用反射来创建一个Collection?
解决方案 »
- ExtJs怎样使用?
- 有研究sync4j的朋友吗?
- 一个不知道难不难的问题,在线等待,救急啊啊啊啊啊啊啊啊啊啊
- 怎样在STRUTS中的JSP页面里填充下拉框?
- 关于数据存储的问题!请高手不吝指点!分不够再加!
- 如何在servlet中做一个通用的EJB调用功能,如果已经知道JNI和EJB的各个接口名称?
- 我用eclipse 2.1.1开发tomcat下的jsp应用,为何ECLIPSE的project菜单下的build project选项不可见?
- 从resultset到xml,再从xml到resultset!!请高手指教!
- xml中的namespace 和前缀(prefix)的使用方法?
- ajax用户登陆获取不到session里的验证码
- java.naming错误
- hibernate的主外键的设置问题
人家举个例子是ArrayList,你那class字符串你总要传来,那不就是动态的了,那现在不知道具体是Collection的子类是什么,到时候你用的时候肯定是知道的啊,到时候你就可以换传过来的那字符串啊。
这就是JAVA多态的强大表现
不强转也可以,直接用 Object 对象吧。但这样做的话,之后调用 Collection 中的相关方法还是需要使用反射来调用。创建对象的目的就是为了使用方便!
1、lz說的不太清楚。
2、既然傳入的是個動態字符串,
是否應該這樣做呢?
Class<?> class1 = Class.forName("java.util.ArrayList");
if (Collection.class.isAssignableFrom(class1)) {
Collection collection = (Collection) class1.newInstance();
System.out.println(collection.getClass());
}