java 获取数组元素类型的class对象
2015-12-23 16:31
1136 查看
每一个类被jvm加载到内存中后,都会生成一个class对象,而且每一个类的实例对象都会有一个引用指针指向该class对象。基于这个class对象我们可以做很多事情,同时它也是整个反射机制的基础。
这里,我只想说一下,如何才能获取到数组元素类型的class对象,这个和普通元素获取的方式还是有区别的,具体看看代码:
关键是tests.getClass().getComponentType()的使用,它的作用是“如果class对象是一个数组,则返回这个数组元素的class对象,否则返回null”。
这里,我只想说一下,如何才能获取到数组元素类型的class对象,这个和普通元素获取的方式还是有区别的,具体看看代码:
public class ClientTest { public static void main(String args[]) throws Exception { Tester test = new Tester(); Tester[] tests = new Tester[0]; Class<?> c1 = tests.getClass().getComponentType(); Class<?> c2 = Tester.class; Class<?> c3 = test.getClass(); System.out.println(c1.getName()); System.out.println(c2.getName()); System.out.println(c3.getName()); Tester[] newTesters = (Tester[])Array.newInstance(c1, 10); Tester newTester = (Tester) c1.newInstance(); System.out.println(newTesters.length); } } class Tester { private String name; private String mem; }
关键是tests.getClass().getComponentType()的使用,它的作用是“如果class对象是一个数组,则返回这个数组元素的class对象,否则返回null”。
相关文章推荐
- java中utf-8编码的byte数组转换成String类型代码
- JAVA MAIL发送邮件实例
- eclipse SVN插件 subclipse 同步出现 E175002 E200007错误解决办法
- eclipse常用快捷键
- JAVA基础正则表达式及日期相关类
- JAVA JDBC连接数据库的步骤
- maven管理的jar包,项目中引用不到,报错java.lang.ClassNotFoundException
- JAVA中获取当前系统时间
- 初识Java_笔记(1)
- Gson把json串转换成java实体对象
- Java -- Class装载机制及ClassLoader
- java heap space解决方法
- java base64图片编码解码
- 从配置文件中初始化spring profile
- 堆排序详解【java版附流程图】
- Spring 一 AOP(概念)
- [流水账] eclipse老是关联包错误的解决办法
- 在Spring下集成ActiveMQ 实现点到点的消息发送
- POI生成excel文件
- [转]Java 如何同步顺序执行多个线程