私のオブジェクトの1つがXインターフェイスを実装していますが、 'instanceof'でチェックするとfalseを返すと言っています。どのようにスーパークラスまたはオブジェクトのインターフェイスであるかを判断する方法。スーパークラスまたはオブジェクトのインターフェイスを確認する方法
object.getSuperClassORInterface();
私のオブジェクトの1つがXインターフェイスを実装していますが、 'instanceof'でチェックするとfalseを返すと言っています。どのようにスーパークラスまたはオブジェクトのインターフェイスであるかを判断する方法。スーパークラスまたはオブジェクトのインターフェイスを確認する方法
object.getSuperClassORInterface();
使用反射
使用例えばgetSuperClass()
:さらにスーパークラスがClass
であるかどうかをあなたが見ることができる
yourObj.getClass().getSuperClass()
私は、例えば
ような何かを探していますまたはInterface
using isInterface()
はいスーパークラスの名前を与えますが、インターフェースの名前が必要な場合はどうすればいいですか?gerInterfacesを使用しましたが、名前の代わりにアドレスだけを表示しましたfeature.getClass()。getInterfaces()。getClass()。getName ()でも動作しません\ –
'getSimpleName'を使用 –
オブジェクトがnullの場合はtrueを返します。
オブジェクトがnullではありません –
falseを返すnull参照変数にinstanceofを適用していることがあります。
'instanceof X'がfalseを返した場合、オブジェクトは' X'インタフェースを実装しません。 'null'は' instanceof'なので、常にfalseを返すことに注意してください。 'instanceof'があなたが期待することをしていない場合、何か間違っているので、コードを投稿してください。 –
'instanceof'がfalseを返す場合、オブジェクトはそのインタフェースを実装していません**。つまり、そのインタフェースはオブジェクトの継承階層にはありません。 –