The HIRO Says

If you smell what The HIRO is cooking!!!

2009-08-01から1ヶ月間の記事一覧

compareTo() メソッド(1)−基本的な実装方法

equals()・hashCode() と同様にオブジェクトの比較に使用できる、compareTo() メソッドについて記述します。 compareTo() メソッドとは?(概要) オブジェクト同士を比較し、どちらが大きいか小さいかを比較することが目的です。 equals() メソッドは、オブ…

hashCode() メソッドの実装(2)−Eclipseに自動生成させてみた

equals() メソッドと同様に、Eclipse(v3.2.0)に hashCode() メソッドを自動生成させてみました。 生成されたコード @Override public int hashCode() { final int PRIME = 31; int result = super.hashCode(); result = PRIME * result + (booleanValue ? 12…

clone() メソッドの実装(2)−オブジェクトの複製テクニック

前回で触れたように、clone() メソッドには、仕様が特殊で実装し辛いという問題があります。 オブジェクトをコピーしたいだけなのに…(´・ω・)という人のために、clone() メソッド以外でオブジェクトを複製するテクニックを紹介します。 テクニック(1)−…

本態性振戦?

私は、物心ついたときから、手に震えがあります。 これのせいで、初対面の人に「緊張し易い人だ」という印象を与えてしまいがちなので面倒です。 今までは、病院へいっても全然原因が分からず、また病名も分からないままでした。 初対面の人に症状を説明する…

clone() メソッドの実装(1)−基本的な実装方法

Java で Prototype パターンを実現するために必要な、clone() メソッドについて記述します。 clone() メソッドの仕様 いずれも、必須ではないそうです。(´・ω・) x.clone() != x を満たすこと。 x.clone().getClass() == x.getClass() を満たすこと。 x.cl…

hashCode() メソッド(1)−基本的な実装方法

equals() メソッドの姉妹ともいえる、hashCode() メソッドについて記述します。 hashCode() メソッドの仕様 属性に変化がない場合、hashCode() を複数回呼び出しても、常に同一の値を返し続けること。 a.equals(b) = true ならば、a.hashCode() = b.hashCode…