getName () - bu Class nesnesi tarafından temsil edilen varlığın adını (sınıf, arabirim, dizi sınıfı, ilkel tür veya void) bir String olarak döndürür.
getCanonicalName () - Java Dil Belirtimi tarafından tanımlanan temel sınıfın standart adını döndürür.
getSimpleName () - temel sınıfın basit adını, yani kaynak kodunda verilen adı döndürür.
package com.practice;
public class ClassName {
public static void main(String[] args) {
ClassName c = new ClassName();
Class cls = c.getClass();
// returns the canonical name of the underlying class if it exists
System.out.println("Class = " + cls.getCanonicalName()); //Class = com.practice.ClassName
System.out.println("Class = " + cls.getName()); //Class = com.practice.ClassName
System.out.println("Class = " + cls.getSimpleName()); //Class = ClassName
System.out.println("Class = " + Map.Entry.class.getName()); // -> Class = java.util.Map$Entry
System.out.println("Class = " + Map.Entry.class.getCanonicalName()); // -> Class = java.util.Map.Entry
System.out.println("Class = " + Map.Entry.class.getSimpleName()); // -> Class = Entry
}
}
Bir fark, anonim bir sınıf kullanırsanız, sınıfın adını kullanarak sınıf adını almaya çalışırken boş bir değer elde edebilmenizgetCanonicalName()
Başka bir gerçek, yöntemin iç sınıflar için getName()
olan getCanonicalName()
yöntemden farklı davranmasıdır .getName()
çevreleyen sınıf kanonik adı ile iç sınıf basit adı arasındaki ayırıcı olarak bir dolar kullanır.
Java'da bir sınıf adı alma hakkında daha fazla bilgi için .