[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10189] Object[] は Cloneable だった



福嶋です。

On Mon, 24 Jun 2002 01:57:28 +0900, according to the article
"[jfriends-ml 10187] Re: Effective Java プログラミングガイド議事録 Ver2"
shino <shino@xxxxxxxxxxxxxx> wrote:

> SUBMITボタンがコメント化されていて、
> 募集の送信ができないのは意図的なのでしょうか (^^;;

外し忘れかと思って

  1)ローカルにHTML保存
  2)form actionのURLを絶対指定に修正
  3)コメントをはずす
  4)このHTMLで送信

としてみたら見事登録のメールが届いてしまったのですがまずかったでしょうか。(^^;


ところで、Object[]クラスはCloneableなのか? という話が土曜日に出ましたが、
実験してみたところ、やはりにCloneableでした。

実験ソース:
---------------------------------------------------------------------------
import java.util.List;
import java.util.ArrayList;

/**
 * <code>Object[]</code>クラスの謎に迫るテストプログラムで使用するクラス。
 *
 * @author Wataru Fukushima &lt;w.fukushima@xxxxxxxxxxxxxxx&gt;
 */
public class ObjectArrayTest {
  /**
   * 実テストを行う。
   *
   * @param args コマンドライン引数だが使用されない。ここからFQCNをもらうように
   *             して内部でリフレクションで<code>Class</code>オブジェクトを作る
   *             ようにするとステキかも。
   */
  public static void main(String[] args) {
    Object[] objectArray = new Object[5];
    Class objectArrayClass = objectArray.getClass();
    
    System.out.println("class name:  " + objectArrayClass.getName());
    System.out.println("super class: " + objectArrayClass.getSuperclass().getName());
    System.out.println("interfaces:  " + createInterfaceList(objectArrayClass));
    System.out.println("isArray:     " + objectArrayClass.isArray());
    System.out.println("isPrimitive: " + objectArrayClass.isPrimitive());
  }
  
  /**
   * 指定された<code>Class</code>オブジェクトが持つインタフェースの名前の
   * リストを生成します。
   *
   * @param target 調査対象のクラス
   * @return 生成されたリスト
   */
  private static List createInterfaceList(Class target) {
    Class[] interfaceListAsClassArray = target.getInterfaces();
    List interfaceList = new ArrayList(interfaceListAsClassArray.length);
    for (int index = 0; index < interfaceListAsClassArray.length; index++) {
      interfaceList.add(interfaceListAsClassArray[index].getName());
    }
    return interfaceList;
  }
}
---------------------------------------------------------------------------

実行結果:(WinNT4.0で実行しています)
---------------------------------------------------------------------------
> java -version
java version "1.3.1_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_03-b03)
Java HotSpot(TM) Client VM (build 1.3.1_03-b03, mixed mode)

> java ObjectArrayTest
class name:  [Ljava.lang.Object;
super class: java.lang.Object
interfaces:  [java.lang.Cloneable, java.io.Serializable]
isArray:     true
isPrimitive: false
---------------------------------------------------------------------------

----------------------------------------
(株)PFU ソフトプロダクト事業部第二開発部
  福嶋 航  w.fukushima@xxxxxxxxxxxxxxx