Class cls = java.lang.String.class;
String name = cls.getName(); // java.lang.String
// inner class
cls = java.util.Map.Entry.class;
name = cls.getName(); // java.util.Map$Entry
// primitive type
name = int.class.getName(); // int
name = Integer.class.getName(); // java.lang.Integer
name = Integer.TYPE.getName(); // int
// array
name = boolean[].class.getName(); // [Z
name = byte[].class.getName(); // [B
name = char[].class.getName(); // [C
name = short[].class.getName(); // [S
name = int[].class.getName(); // [I
name = long[].class.getName(); // [J
name = float[].class.getName(); // [F
name = double[].class.getName(); // [D
name = String[].class.getName(); // [Ljava.lang.String;
name = int[][].class.getName(); // [[I
// void
cls = Void.TYPE;
name = cls.getName(); // void
// CanonicalName
name = cls.getCanonicalName(); // java.lang.String
name = cls.getCanonicalName(); // java.util.Map.Entry
name = boolean[].class.getCanonicalName(); // boolean[]
참조 URL : http://java.sun.com/developer/technicalArticles/ALT/Reflection/index.html