您的位置:首页 > 编程语言 > Java开发

Java反射获取字节码以及判断类型

2017-01-10 22:03 246 查看
一、获取类的字节码的三种方法:
  

  1.使用Class.class

   Class<?> c1=String.class;

  2.使用实例.getClass()

   String s=new String("1"); Class<?> c2=s.getClass();

  3.使用Class.forName("类全名");

   Class<?> c3 = Class.forName("java.lang.String");

二、判断字节码是不是基本类型

//判断是不是基本类型
System.out.println(c1.isPrimitive());//false


三、判断是不是数组:

//判断是不是数组 System.out.println(String[].class.isArray());//true

四、判断基本类型的详细类型

// 判断是不是int 基本类型 System.out.println(int.class==Integer.TYPE);

完整代码

package cn.lonecloud.Test;

import org.junit.Test;

public class ClassTest {

@Test
public void ClassTest() throws ClassNotFoundException{
//获取类的字节码的三种方法:
//1.使用Class.class
Class<?> c1=String.class;
//        2.使用实例.getClass()
String s=new String("1");
Class<?> c2=s.getClass();
//        3.使用Class.forName("类全名");
Class<?> c3 = Class.forName("java.lang.String");
System.out.println(c1==c2);//true
System.out.println(c2==c3);//true
System.out.println(c1==c3);//true
//        获取基本类型的字节码
System.out.println(int.class);//int
//基本类型的字节码和其包装类是不一样的
System.out.println(Integer.class==int.class);//false
//判断是不是基本类型
System.out.println(c1.isPrimitive());//false
//判断是不是数组
System.out.println(String[].class.isArray());//true
//        判断是不是int 基本类型
System.out.println(int.class==Integer.TYPE);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐