EeBlog(テクニカルブログ) :Javaワンポイント

第28回 cloneメソッド

今回のテーマは「cloneメソッド」です。

cloneメソッドは自分自身の複製を行うメソッドです。 Objectクラスで宣言されているprotectメソッドであり、Objectクラスを除く全てのクラスはObjectクラスのサブクラスなので、どのクラスでもcloneメソッドを呼び出すことが可能です。 しかし、呼び出すことが可能であっても、使うことができるとは限りません。 というのは、cloneメソッドを使用するためには、Cloneableインターフェースをインプリメントする必要があるからです。 もしCloneableインターフェースをインプリメントせずにcloneメソッドを実行した場合、CloneNotSupportedExceptionが発生します。 Cloneableインターフェース自体はマーカーインターフェースであり、特別なメソッドを実装する必要はありません。

(さらに…)

第27回 ジェネリックスクラス

今回のテーマは「ジェネリックスクラス」です。

まず「ジェネリックスクラスとは何ぞや」というところから始めます。 前回ジェネリックスメソッドについて書きましたので、ジェネリックスクラスのイメージはある程度つかめるのではないかと思います。 ジェネリックスクラスとは、クラス名の後ろに<T>や<E>といった型パラメータを指定して宣言するクラスです。 代表的なジェネリックスクラスとして、ListやSetなどのコレクションがあります。 コレクションのソート時に使うComparator、Comparableなどもジェネリックスクラスになっています。

(さらに…)

第26回 ジェネリックスメソッド

今回のテーマは「ジェネリックスメソッド」です。

ジェネリックスメソッドの前に、簡単に「ジェネリックス」について説明します。 ジェネリックスは型の安全性のために、Java5から導入された機能です。 List<String> listのように宣言することで、listはString型の要素のみを保持するようになります。 例えば、listに対してInteger型の要素を追加しようとするとコンパイルエラーが発生します。 配列と同じように、要素の型を宣言時に決めることで、コレクションもタイプセーフとなったのです。

(さらに…)