目次へ

解答例 - 実習課題3 - 1.コレクション

(実習課題3)

以下のオブジェクトの同一性を、「==」と「equals」メソッドで比較した場合の結果の違いを確かめなさい。またこれらのハッシュ値を確かめなさい。

String a = "test";
String b = new String("test");
String c = "te" + "st";
String d = "te" + new String("st");
String e = new String("te") + new String("st")

解答例

package com.techscore.utility.chapter1.exercise3;
/**
 * EqualExample.java
 * TECHSCORE Javaユーティリティ1章 実習課題3
 * 
 * オブジェクトの同一性について、比較する。
 * "equals"メソッドで比較した場合、全てのオブジェクトは「同一」と判断される。
 * "=="で比較した場合、"test"と"te"+"st"以外は異なるものと判断される。
 * 
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
public class EqualExample {

    static String testString[] =
        {
            "test",
            new String("test"),
            "te" + "st",
            "te" + new String("st"),
            new String("te") + new String("st")};

    public static void main(String args[]) {

        for (int i = 0; i < testString.length - 1; i++) {
            for (int j = i + 1; j < testString.length; j++) {
                System.out.println(i + ":" + j);
                System.out.println("equals:" + (testString[i].equals(testString[j])));
                System.out.println("== :" + (testString[i] == testString[j]));
            }
        }

    }

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp