Date: Mon, 24 Nov 97 13:26:27 JST From: SHUDOH Kazuyuki Subject: [JavaHouse-Brewers:13928] obtain Class object of an array (Re: Class Load) To: java-house-brewers at center.nitech.ac.jp (JavaHouse Brewers ML) Message-Id: <199711240427.NAA06046@cafe.olu.info.waseda.ac.jp> 首藤です。java.lang.Class#forName() について、追加情報。 せきば> Class targetClass = Class.forName("クラス名"); java.lang.Class#forName() ですが、こういうこともできます。 Class.forName("[I"); Class.forName("[Ljava.lang.Object;"); それぞれ、int[], Object[] に対応する Class のインスタンスを得ます。 API のリファレンスマニュアル中の java.lang.Class#forName() の説明では 引数として the fully-qualified name for a class or interface を受け付けるようなことが書いてあります。 配列の signature を受け付けるとは書いてありません。 JLS にはきちんと java.lang.Class#getName() で得られる文字列 を受け付けるようなことが書いてあります。 (参考) Class#getName() について int[] intArray = new int[10]; Object[] objArray = new Object[10]; System.out.println(intArray.getClass().getName()); System.out.println(objArray.getClass().getName()); とすると [I と [Ljava.lang.Object; が表示されます。 SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように shudoh at muraoka.info.waseda.ac.jp