JavaでのinstanceOfキーワードの役割は何ですか?

instanceofキーワードは、オブジェクトが特定のクラスのインスタンスであるかどうかをチェックするために使用されます。その目的は、オブジェクトが特定のクラスのインスタンスであるか、またはそのサブクラスや実装クラスのインスタンスであるかを判断することです。

ランタイムでオブジェクトのタイプを判断し、その結果に基づいて処理を行うには、instanceofキーワードを使用します。指定されたクラスのインスタンスであれば、trueを返します。指定されたクラスのサブクラスまたは実装クラスのインスタンスでも、trueを返します。それ以外の場合はfalseを返します。

例えば、インスタンスオブジェクトがStringタイプのインスタンスであるかどうかを判断するためにinstanceofキーワードを使用できます。

String str = "Hello";
if (str instanceof String) {
    System.out.println("str is an instance of String");
}

instanceofキーワードは、オブジェクトが特定のインターフェースを実装しているかどうかを判別するためにも使用できます。

List<String> list = new ArrayList<>();
if (list instanceof List) {
    System.out.println("list is an instance of List");
}

if (list instanceof Collection) {
    System.out.println("list is an instance of Collection");
}

上記のコードでは、listはArrayListのインスタンスであり、またListおよびCollectionのインスタンスでもあるため、instanceofキーワードを使用した判定はすべてtrueを返します。

bannerAds