zoukankan      html  css  js  c++  java
  • Class.getName和Class.getCanonicalName的区别

    对于一般的type来说,这二者没有区别,对于array和inner type,就有区别了,可以写代码亲测,如下:

     1 package simple;
     2 
     3 class Box {
     4     class Inner {}
     5 }
     6 
     7 public class Foo {
     8     public static void main(String[] args) throws Exception {
     9         // Ordinary class:
    10         System.out.println(Box.class.getCanonicalName());
    11         System.out.println(Box.class.getName());
    12         // Inner class:
    13         System.out.println(Box.Inner.class.getCanonicalName());
    14         System.out.println(Box.Inner.class.getName());
    15         // Array type:
    16         System.out.println(args.getClass().getCanonicalName());
    17         System.out.println(args.getClass().getName());
    18     }
    19 }

    一般,用于load class的时候,比如说Class.forName,就需要用Class.getName而不是Class.getCononicalName

  • 相关阅读:
    2019.8.15刷题统计
    2019.8.12刷题统计
    2019.8.11刷题统计
    2019.8.10刷题统计
    2019.8.9刷题统计
    2019.8.8刷题统计
    2019.8.7刷题统计
    2019.8.6刷题统计
    xuezhan.org 6.28
    xuezhan.org 6.27
  • 原文地址:https://www.cnblogs.com/qrlozte/p/3141042.html
Copyright © 2011-2022 走看看