第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java中獲取類名的3種方法!

標簽:
Java

获取类名的方法

Java 中获取类名的方式主要有以下三种。

  • getName()

返回的是虚拟机里面的class的类名表现形式。

  • getCanonicalName()

返回的是更容易理解的类名表示。

  • getSimpleName()

返回的是类的简称。

都有什么区别?

通过一个实例来看下它们主要的区别。

public class TestClass {    public static void main(String[] args) {        // 外部普通类        System.out.println("方法名             类名");        System.out.println("getName            " + TestClass.class.getName());        System.out.println("getCanonicalName   " + TestClass.class.getCanonicalName());        System.out.println("getSimpleName      " + TestClass.class.getSimpleName());        System.out.println();        // 内部类        System.out.println("getName            " + TestInnerClass.class.getName());        System.out.println("getCanonicalName   " + TestInnerClass.class.getCanonicalName());        System.out.println("getSimpleName      " + TestInnerClass.class.getSimpleName());        System.out.println();        // 数组类        TestInnerClass[] testInnerClasses = new TestInnerClass[]{                new TestInnerClass(),                new TestInnerClass(),                new TestInnerClass()        };        System.out.println("getName            " + testInnerClasses.getClass().getName());        System.out.println("getCanonicalName   " + testInnerClasses.getClass().getCanonicalName());        System.out.println("getSimpleName      " + testInnerClasses.getClass().getSimpleName());        System.out.println();    }    static class TestInnerClass {    }}

程序输出以下结果。

方法名              类名getName            com.test.TestClassgetCanonicalName   com.test.TestClassgetSimpleName      TestClassgetName            com.test.TestClass$TestInnerClassgetCanonicalName   com.test.TestClass.TestInnerClassgetSimpleName      TestInnerClassgetName            [Lcom.test.TestClass$TestInnerClass;getCanonicalName   com.test.TestClass.TestInnerClass[]getSimpleName      TestInnerClass[]

[Lcom.test.TestClass$TestInnerClass;值得说明一下。

这是一种对函数返回值和参数的编码,叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。

[ 表示数组,一个代表一维数组,比如 [[ 代表二维数组。之后 L 代表类描述符,最后;表示类名结束。

结论

1、从以上结果可以看出 getName() 和 getCanonicalName() 在获取普通类名的时候没有区别,在获取内部类和数组类有区别的。

2、getSimpleName() 在获取普通类和内部类名的时候没区别,在获取数组类的时候有区别。

推荐:Spring Boot & Cloud 最强技术教程


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消