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

Effective Java 第 2 版:第 4 章 項目 15

項目 14: 可変性を最小限にする この項目では、不変クラスの作り方に関して説明されている。 不変クラスは、生成したインスタンスの状態を変更できないようなクラスのことである。 String, 基本データクラス(BigInteger なども)は不変クラスである。 例え…

Effective Java 第 2 版:第 4 章 項目 13, 14

亀の歩みで読み進めている Effective Java は第 4 章へ入った。 第 4 章は「クラスとインフェース」。 この章では、Java でクラスやインタフェースの機能を適切に使うための方法が説明されている。 今回は 項目 13, 14 をメモ。 項目 13: クラスとメンバーへ…

Effective Java 第 2 版:第 3 章 項目 12

Comparable の実装を検討する インタフェース Comparable を実装するといいことがあるという話。 Comparable は以下のようなインタフェース。 public interface Comparable<T> { int compareTo(T t); } Javadoc は以下のリンクから。 Comparable (Java Platform</t>…

Effective Java 第 2 版:第 3 章 項目 11

clone を注意してオーバーライドする Object.clone は適切にオーバーライドしないと問題が起こるという話。 clone はあるオブジェクトのコピーを返すメソッドである。 Object (Java Platform SE 8 ) 例えば、GoF のデザインパターンの一つ、"Prototype" パタ…

Effective Java 第 2 版:第 3 章 項目 10

toString を常にオーバーライドする Object.toString をオーバーライドしておくと、クラスが使いやすくなるという話。 toString はオブジェクトを表現する文字列を返すメソッドである。 toString がオーバーライドされているクラスのオブジェクトを println …

Effective Java 第 2 版:第 3 章 項目 9

equals をオーバーライドする時は、常に hashCode をオーバーライドする 今回は、Object.hashCode の一般契約についての話。 hashCode は、あるオブジェクトのハッシュ値を返すメソッドである。 Object (Java Platform SE 8 ) java.util.HashMap のようなコ…

Effective Java 第 2 版:第 3 章 項目 8

本項から、第 3 章「すべてのオブジェクトに共通のメソッド」に入る。 Object クラスのメソッドには、一般契約と呼ばれる使用上の決まりが存在する。 この契約を守って Object クラスのメソッドをオーバーライドしないと、契約を元に設計されている別のクラ…