Java程序中的各个Java类属于同一类事物,描述这一类事物的Java类名就是Class。
Class class1;中class1就是一份对应相关类型的字节码;
获取该份字节码的方式有以下三种(下面就以String为例子来作说明):
方式一: Class cls1 = String.class
方式二:String str1 = new String();//先获取当前String的对像
Class cls2 = str1.getClass();//根据当前String的对象调用该对象的特有的获取String字节码的方法.getClass()获取一份String的字节码,当然,方式一和方式二获取的字节码都是同一份字节码,都是String的字节码
方式三:Class cls3 = Class.forName("java.lang.String");//首先去内存中搜寻有没有String这份字节码,如果没有,那么此时重新加载一份到Java虚拟机中。
以上三种方式获取的都是同一份String 的字节码,所以此时cls1 ==cls2 为true,另外的cls2==cls3也为true
另外的几个基本类型获取字节码的方式可以这样,如下:
Class cls = Integer.TYPE;
Class cls1 = Byte.TYPE;
Class cls2 = Long.TYPE;
Class cls3 = Short.TYPE;
Class cls4 = Double.TYPE;
Class cls5 = Boolean.TYPE;
Class cls6 = Character.TYPE;
Class cls7 = Float.TYPE;
Class cls8 = Void.TYPE;
另外的判断是否为基本类型的字节码,可以通过这样的方式去判断:
例如:int.class.isPrimitive();此时返回的应该是true,int是一个基本类型
判断一个字节码是否为数组的字节码的方式可以是这样:
例如:int[].class.isArray(); 其他的判断的说明可以参见API