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


    一、获取类的字节码的三种方法:
      

      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 }
  • 相关阅读:
    Rocket broker启动失败?
    jar下载慢,maven配置国内仓库
    Linux下搭建RocketMQ环境
    几种常见css布局
    原生JS快速实现拖放
    更换 grub 主题
    安装node环境以及cnpm
    用 hexo 快速搭建博客
    关于8080端口被占用问题的解决办法。
    idea的几个常用+实用的快捷键!
  • 原文地址:https://www.cnblogs.com/lonecloud/p/6270998.html
Copyright © 2020-2023  润新知