黑马程序员技术交流社区
标题:
请问怎么动态的创建一种数据类型的变量
[打印本页]
作者:
李建锋
时间:
2012-2-15 21:35
标题:
请问怎么动态的创建一种数据类型的变量
本帖最后由 李建锋 于 2012-2-16 11:21 编辑
就比如说,通过反射获得了某一种数组的数据类型,让后想创建这种类型的变量,怎么搞??
作者:
陈丹阳
时间:
2012-2-15 22:59
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Class clazz = test[].class;//得到数组类型的class
//clazz.newInstance();//报错,无法使用
Constructor[] constructors = clazz.getConstructors();
System.out.println(constructors.length);//构造函数列表为空
////因此,无法直接利用数组的class来创建对象
//我的思路是,先得到数组元素的类型,然后通过该类型的class来创建数组
Class elementtypeClass = clazz.getComponentType();
System.out.println(elementtypeClass.newInstance());//创建该类型变量
System.out.println(Array.newInstance(elementtypeClass, 5));//创建该类型数组
}
}
class test{
}
复制代码
作者:
李建锋
时间:
2012-2-16 11:21
恩,你的思路不错,学习了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2