getName () - एक String के रूप में इस क्लास ऑब्जेक्ट द्वारा दर्शाए गए इकाई (वर्ग, इंटरफ़ेस, सरणी वर्ग, आदिम प्रकार, या शून्य) का नाम देता है।
getCanonicalName () - जावा भाषा विनिर्देश द्वारा परिभाषित अंतर्निहित वर्ग का विहित नाम देता है।
getSimpleName () - अंतर्निहित वर्ग का सरल नाम लौटाता है, यही वह नाम है जिसे स्रोत कोड में दिया गया है।
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
}
}
एक अंतर यह है कि यदि आप एक अनाम वर्ग का उपयोग करते हैं तो आप कक्षा का नाम प्राप्त करने का प्रयास करते समय एक अशक्त मूल्य प्राप्त कर सकते हैंgetCanonicalName()
एक और तथ्य यह है कि getName()
विधि आंतरिक वर्गों केgetCanonicalName()
लिए विधि की तुलना में अलग व्यवहार करती है । संलग्नक वर्ग विहित नाम और आंतरिक वर्ग सरल नाम के बीच विभाजक के रूप में एक डॉलर का उपयोग करता है।getName()
जावा में एक वर्ग का नाम प्राप्त करने के बारे में अधिक जानने के लिए ।