java.lang.Class
getName, getCanonicalName, getSimpleName
// JRE 1.6.0_07
// java.lang.Class
// クラス名を取得する
// tag getName getCanonicalName getSimpleName
String name;
Class cls;
///////////////////////////////////////////
// Stringの名前を取ってみる
// getCanonicalName
name= "str".getClass().getCanonicalName();
System.out.println( name );
// => java.lang.String
// getName
name= "str".getClass().getName();
System.out.println( name );
// => java.lang.String
// getSimpleName
name= "str".getClass().getSimpleName();
System.out.println( name );
// => String
///////////////////////////////////////////
// 配列だとどうなるか
// getCanonicalName
name = String[].class.getCanonicalName();
System.out.println( name );
// => java.lang.String[]
// getName
name = String[].class.getName();
System.out.println( name );
// => [Ljava.lang.String;
// getSimpleName
name = String[].class.getSimpleName();
System.out.println( name );
// => String[]
///////////////////////////////////////////
// Classに戻せるか
// getCanonicalName => ダメ
cls = Class.forName( String[].class.getCanonicalName() );
System.out.println( cls );
// => ClassNotFoundException: java/lang/String[]
//getName => 成功
cls = Class.forName( String[].class.getName() );
System.out.println( cls );
// => class [Ljava.lang.String;
// getSimpleName => もちろんダメ
cls = Class.forName( String[].class.getSimpleName() );
System.out.println( cls );
// => ClassNotFoundException: String[]