Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaのinstanceof演算子


この演算子は、オブジェクト参照変数にのみ使用されます。オペレータは、オブジェクトが特定のタイプ(クラスタイプまたはインターフェイスタイプ)であるかどうかを確認します。 instanceof演算子は-

と記述されます
( Object reference variable ) instanceof (class/interface type)

演算子の左側の変数によって参照されるオブジェクトが、右側のクラス/インターフェイスタイプのIS-Aチェックに合格した場合、結果はtrueになります。以下は例です-

public class Test {
   public static void main(String args[]) {
      String name = "James"; // following will return true since name is type of String
      boolean result = name instanceof String;
      System.out.println( result );
   }
}
出力 これにより、次の結果が生成されます-

true

比較対象のオブジェクトが右側のタイプと互換性のある割り当てである場合、この演算子は引き続きtrueを返します。以下はもう1つの例です-

class Vehicle {}
public class Car extends Vehicle {
   public static void main(String args[]) {
      Vehicle a = new Car();
      boolean result = a instanceof Car;
      System.out.println( result );
   }
 }
出力 これにより、次の結果が生成されます-

true

  1. Javaの共変リターンタイプ

    共変リターンタイプは、オーバーライドメソッドのリターンタイプを指します。タイプをキャストしたり、リターンタイプをチェックしたりすることなく、オーバーライドされたメソッドのリターンタイプを絞り込むことができます。共変リターンタイプは、非プリミティブリターンタイプに対してのみ機能します。 Java 5以降では、戻り型がオーバーライドされたメソッドの戻り型のサブクラスであるという条件を順守することによってのみ、戻り型を変更することでメソッドをオーバーライドできます。 次の例は同じことを示しています。 例 class SuperClass {    SuperClass get

  2. Pythonの三項演算子をオーバーロードする方法は?

    三項演算子をオーバーロードすることはできません。ラムダ/関数でラップして使用することもできますが。 の場合 例 result = lambda x: 1 if x < 3 else 10 print(result(2)) print(result(1000)) 出力 これにより、出力が得られます- 1 10