4月3日

コレクションフレームワークの続き

SE2で作ったリソースをSE3にコピーする

いずれやらないといけないので、さっさとコピーしておきましょう。

workspaceをコピーする。

Setで独自クラスManを使ってみる

add()とcontains()が期待通りに動作していない。

オブジェクトの同一性の判断をどうやっているかという問題。

Manクラスのテストケースを作成して同一性を保障できるようにする。

パッケージエクスプローラでMan.javaを右クリックし、ポップアップメニューで[新規]-[JUnitテストケース]を選択する。

新規JUnitテストケースのダイアログで「次へ」をクリックし、テストメソッドの中からhashCode()とequals()をチェックして「完了」をクリックする。

テストを作成する。

public class ManTest {

	@Test
	public void testHashCode() {
		Man m1 = new Man("孫", 10);
		Man m2 = new Man("孫", 10);
		assertThat(m1.hashCode(), is(m2.hashCode()));
	}

	@Test
	public void testEquals() {
		fail("まだ実装されていません");
	}

}

ManクラスにhashCode()メソッドのオーバーライドを作成する。

Eclipseのメニューバーで[ソース]-[メソッドのオーバーライド実装]を選択する。
「オーバーライドまたは実装するメソッドを選択」でhashCode()をチェックしてOKする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です