オブジェクトの比較:instanceof と Class.isAssignableFrom()
Java プログラミングでは、オブジェクトをタイプに基づいて比較するための 2 つのメソッド、instanceof と Class.isAssignableFrom() が提供されます。 Class.isAssignableFrom()。適切な方法の選択は、特定の要件とコンテキストによって異なります。
使用例 1: 静的クラス検証
instanceof 演算子は、オブジェクトが特定のクラスに属しているかどうかを確認します。コンパイル時のインターフェイス。オブジェクトをクラスと直接比較するため、その構文はより単純です。
if (a instanceof B) { // a is an instance of B }
利点:
使用例 2: 動的型検証
Class.isAssignableFrom() により、より動的な型検証が可能になり、途中でクラスを決定できます。ランタイム。オブジェクトの型とクラスで表される型を比較します。
if (B.class.isAssignableFrom(a.getClass())) { // a is assignable to type B }
利点:
主な違い:
結論:
のインスタンスとClass.isAssignableFrom() は、オブジェクト比較のためのさまざまなメカニズムを提供します。 instanceof はコンパイル時の静的型チェックに適していますが、Class.isAssignableFrom() は動的な型検証を可能にし、null 値を処理します。どの方法を使用するかの選択は、特定の要件と必要な実行時の動作によって異なります。
以上が「instanceof」と「Class.isAssignableFrom()」: Java オブジェクトの比較にどちらを使用する場合?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。