skillup

技術ブログ

Java

型情報の取得・活用について

投稿日:2015年7月26日 更新日:

Javaで抽象度の高い実装を行うときに必要となる型情報の活用法について。

できるとできないとでプログラムの応用範囲が変わってくるのでメモっときます。

こちらのエントリーと合わせて読むといいと思います。

なお解説はすべてコメントに入れてあります。

クラスインスタンスの作成方法

これが最初のうちは全然わかりませんでした。

要はあるクラスのメソッド、パラメーターなどそのクラス自体の情報を取得したいときに使われます。

例えばStringのクラス情報を取得したいときはClass<String>になります。

Class<T>(ジェネリクスでの定義)やClass<?>(特定の型でなく汎用的な型情報の取得)などにも使われます。

以下の方法で取得できます。

メソッド情報の取得

クラスの情報の取得があるのなら当然メソッドの情報を取得する方法もあります。

実際にソースを見てみましょう。

ソース

Sample.java

Test.java

実行結果

メソッド1 私の名前はhogeです
メソッド2 私の名前は hogeです
メソッド3 私の名前は hoge.No3です。
メソッド名:getName
メソッド名:setName
パラメーター: java.lang.String arg0
メソッド名:showMessage
メソッド名:showMessage2
パラメーター: java.lang.String arg0
メソッド名:showMessage3
パラメーター: java.lang.String arg0
パラメーター: int arg1

//ここから下はJavaのクラスに標準で実装されているメソッドです

メソッド名:wait
メソッド名:wait
パラメーター: long arg0
パラメーター: int arg1
メソッド名:wait
パラメーター: long arg0
メソッド名:equals
パラメーター: java.lang.Object arg0
メソッド名:toString
メソッド名:hashCode
メソッド名:getClass
メソッド名:notify
メソッド名:notifyAll

参考リンク

Javaのリフレクション

-Java

執筆者:


comment

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

関連記事

no image

CIことはじめ

業務でJavaのテキスト変換ツールを作成。 プログラムよりもCIツールを使って他人の環境下で正常に稼動させるためにどうするかの調査に時間かかりましたね。 今回やりたかったことは下記の通りです。いわゆる …

no image

JSONへの変換

近年はJavaSciprtを利用した動的なサイトが多いため、データのやり取りをAjaxで行うことも多かったりします。 JavaScriptの場合、データをJSON形式で扱うため、サーバー側からレスポン …

no image

JSPでのAjax(dwr使用)

JSPネタ3本目。 Ajaxです。 こちらも独自のライブラリを使うようですね。 drwというものが有名のようです。 Contents1 dwr1.1 pomでの記述1.2 web.xml1.3 dwr …

no image

正規表現(判定:置換:抽出)

Javaの正規表現を利用した置換、抽出について書きます。 Contents1 正規表現の基本ルール2 Javaでの正規表現の処理の流れ3 実処理3.1 判定3.2 抽出3.3 置換 正規表現の基本ルー …

no image

Javaのarraycopy

最近あまりJava自体には触っていないですが、資格の勉強をコツコツとすすめていることもあり、新たな発見もあります。 8ヶ月ぐらいJava書いていますが、arraycopyというメソッドをはじめてしりま …

アーカイブ