Tricky Tricks ›› Programming Tricks ›› Java Tricks ›› Class Names Of Arrays

Class Names Of Arrays

Java Programming Tricks

Class names of arrays:

Class objects are useful for programs that inquire dynamically about the capabilities of classes. The construct Type. class returns an object of type class, as does the static forName method. The getName method returns the name of the class.

 Trap 
 
 These methods are inconsistently implemented for basic types and arrays. 
 Consider the following: 
 
 Class cll = Double.class; 
 
 Class c12 = double.class; 
 
 Class c13 = douhle[].class; 
 
 Class c14 = Double[].class; 
 
 System.out.println(cll.getName()); // prints java.lang.Double 
 
 System.out.println(c12.getName()); // prints double 
 
 System.out.println(c13.getName()); // prints [D (!) 
 
 System.out.println(c14.getName()); // prints[Ljava.lang.Double; 
 
 cll = Class.forName("java.lang.Double"); // ok 
 
 c12 = Class.forName("double"); // throws exception 
 
 c13 = Class.forName("double[]"); // throws exception 
 
 c13 = Class.forName("[D"); // ok
 

Partners