instanceof演算子

javaでクラス名を比較する演算子があります。

instanceof演算子でそのまんまの意味ですね

if(変数名 instanceof クラス名){
  処理;
}

さてこれは、どこまで適用されるかというと、

  1. クラス名のオブジェクト
  2. クラス名のサブクラスのオブジェクト
  3. クラス名がインターフェースだったときの実装クラス
  4. クラス名がインターフェースだったときの実装クラスのサブクラス

までtrueでかえします

なおプリミティブ型は扱えません。