一、获取类的字节码的三种方法:
1.使用Class.class
1 Class<?> c1=String.class;
2.使用实例.getClass()
1 String s=new String("1"); 2 Class<?> c2=s.getClass();
3.使用Class.forName("类全名");
1 Class<?> c3 = Class.forName("java.lang.String");
二、判断字节码是不是基本类型
//判断是不是基本类型
System.out.println(c1.isPrimitive());//false
三、判断是不是数组:
1 //判断是不是数组 2 System.out.println(String[].class.isArray());//true
四、判断基本类型的详细类型
1 // 判断是不是int 基本类型 2 System.out.println(int.class==Integer.TYPE);
完整代码
1 package cn.lonecloud.Test;
2
3 import org.junit.Test;
4
5 public class ClassTest {
6
7 @Test
8 public void ClassTest() throws ClassNotFoundException{
9 //获取类的字节码的三种方法:
10 //1.使用Class.class
11 Class<?> c1=String.class;
12 // 2.使用实例.getClass()
13 String s=new String("1");
14 Class<?> c2=s.getClass();
15 // 3.使用Class.forName("类全名");
16 Class<?> c3 = Class.forName("java.lang.String");
17 System.out.println(c1==c2);//true
18 System.out.println(c2==c3);//true
19 System.out.println(c1==c3);//true
20 // 获取基本类型的字节码
21 System.out.println(int.class);//int
22 //基本类型的字节码和其包装类是不一样的
23 System.out.println(Integer.class==int.class);//false
24 //判断是不是基本类型
25 System.out.println(c1.isPrimitive());//false
26 //判断是不是数组
27 System.out.println(String[].class.isArray());//true
28 // 判断是不是int 基本类型
29 System.out.println(int.class==Integer.TYPE);
30 }
31 }