web-dev-qa-db-ja.com

Java instanceofとオブジェクトの変更

クラスであると想定するパラメーターを渡すことができるメソッドが必要です(ただし、確かではありません)。そのメソッドでは、instanceofを使用して、xが渡されたクラスのインスタンスであるかどうかを確認します。

どうすればいいですか?私はいくつかのことを試しましたが、どれもうまくいきませんでした。

23
Nicolas Martel

これはどう:

public boolean checker(Object obj) {
    return obj instanceof SomeClass;
}

または、SomeClassがパラメーターの場合:

public boolean checker(Object obj, Class someClass) {
    return someClass.isInstance(obj);
}

または、インスタンスをsomeClassにし、someClassのサブクラスのインスタンスではない場合:

public boolean checker(Object obj, Class someClass) {
    return someClass.equals(obj.getClass());
}
51
Stephen C

Class.isInstance(Object) を使用します。

12
nneonneo