[Java SE]反射之Class

1 获取 指定Class 的类名

package cn.johnnyzen.bd.gatewayservice;

import org.junit.Test;

    @Test
    public void getClassFullPath(){
        System.out.println(LogTest.class.getClass().getName()); // java.lang.Class
        System.out.println(LogTest.class.getClass().getCanonicalName()); // java.lang.Class
        System.out.println(LogTest.class.getClass().getSimpleName()); // Class
        System.out.println(LogTest.class.getClass().getTypeName()); // java.lang.Class

        // ////////////

        // getName: 存在于虚拟机中 class 的名称
        System.out.println(LogTest.class.getName()); // cn.johnnyzen.bd.gatewayservice.LogTest
        // getCanonicalName(): 取一个更见名思意的名称
        // 大部分两者是没有区别的,但是像 byte[] 这种类型就有区别了
        //   getName():打印显示为 [B
        //   getCanonicalName(): 打印显示为 byte[]
        System.out.println(LogTest.class.getCanonicalName()); // cn.johnnyzen.bd.gatewayservice.LogTest
        System.out.println(LogTest.class.getSimpleName()); // LogTest

        System.out.println(LogTest.class.getTypeName()); // cn.johnnyzen.bd.gatewayservice.LogTest
    }

X 参考/推荐文献

posted @ 2022-07-19 18:25  千千寰宇  阅读(34)  评论(0编辑  收藏  举报