[Java]instanceof演算子の右辺がインスタンスの型を調べる

2022年1月17日

書式
変数 instanceof クラス名
変数が参照しているインスタンスは、クラス名のサブクラスのインスタンスです
変数が参照しているインスタンスは、クラス名のインスタンスです

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package info;
//クラスTestAの定義
class TestA {
int age= 11;
}
//クラスTestAを継承
class TestB extends TestA {
String username ="tokyo";
}
public class InstanceofDemo {
public static void main(String[] args) {
TestA cft = new TestA ();
//TestAクラスのインスタンスの判定
System.out.println(cft instanceof TestA);
//TestBクラスのインスタンスの判定
System.out.println(cft instanceof TestB);
System.out.println("****************");
TestB cft2 = new TestB ();
//TestAクラスのインスタンスの判定
System.out.println(cft2 instanceof TestA);
//TestBクラスのインスタンスの判定
System.out.println(cft2 instanceof TestB);
}
}
package info; //クラスTestAの定義 class TestA { int age= 11; } //クラスTestAを継承 class TestB extends TestA { String username ="tokyo"; } public class InstanceofDemo { public static void main(String[] args) { TestA cft = new TestA (); //TestAクラスのインスタンスの判定 System.out.println(cft instanceof TestA); //TestBクラスのインスタンスの判定 System.out.println(cft instanceof TestB); System.out.println("****************"); TestB cft2 = new TestB (); //TestAクラスのインスタンスの判定 System.out.println(cft2 instanceof TestA); //TestBクラスのインスタンスの判定 System.out.println(cft2 instanceof TestB); } }
package info;

//クラスTestAの定義
class TestA {
       int age= 11;
}
//クラスTestAを継承
class TestB extends TestA {
      String username ="tokyo";
}
public class InstanceofDemo {

      public static void main(String[] args) {
            TestA cft = new TestA ();
            //TestAクラスのインスタンスの判定
            System.out.println(cft instanceof TestA);
            //TestBクラスのインスタンスの判定
            System.out.println(cft instanceof TestB);
            
            System.out.println("****************");
            TestB cft2 = new TestB ();
            //TestAクラスのインスタンスの判定
            System.out.println(cft2 instanceof TestA);
            //TestBクラスのインスタンスの判定
            System.out.println(cft2 instanceof TestB);
      }

}

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
true
false
****************
true
true
true false **************** true true
true
false
****************
true
true

 

Java

Posted by arkgame