【Java】getClassメソッドを使ってインスタンスがどのクラス(Class)か調べる!

getClassメソッドを使用することでインスタンスがどのクラス(Class)か調べることができます。

しかし、getClass()メソッドを使用してインスタンス化しようとした場合、型はintなのかString型なのか特定できません。
このような場合はワイルドカードを使って特定できないパラメータ化された型を受け取ります。

今回はgetClassメソッドを使って、インスタンスがどのクラスかを調べていきます。

getClassメソッドとは

getClassメソッドは既に存在するオブジェクトから、そのクラスを取得することができます。

getClassメソッドの書き方

getClass()メソッドの構文は下記となります。

getClassの前にインスタンスなどのObjectを指定することで指定したObjectのクラスを取得することができます。
また、<?>はワイルドカードと呼ばれ、一時的に変数を保持するだけの場合や、型変数からObject型の値を得るだけのような場合であれば統一した方法で管理することができます。

インスタンスがどのクラスかを調べるサンプルコード

インスタンスがどのクラスかを調べるサンプルコードを紹介します。

出力結果

class java.lang.String
class java.lang.Integer
class java.lang.String
class [Ljava.lang.String;

int
class java.lang.String
class [Ljava.lang.Integer;

getClassメソッドを使って変数clzでクラスのインスタンスを取得しています。

今回のポイント

getClassメソッドでインスタンスがどのクラスか調べる

インスタンスがどのクラスかを調べるにはgetClassメソッドを使用する

getClassメソッドを使うことで、「Class」インスタンスを取得できることからインスタンスがどのクラスかを調べることができる

• 配列やプリミティブ型の「Class」インスタンスも取得するにはクラスリテラル(String.classなど)を使用する

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報