程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java instanceof 運算符的使用方法

Java instanceof 運算符的使用方法

編輯:JAVA編程入門知識

用法:

  (類型變量 instanceof 類|接口)

作用:

  instanceof 操作符用於判斷前面的對象是否是後面的類,或者其子類、實現類的實例。如果是則返回true 否則就返回false。

注意:

  · instanceof前面的操作數的編譯時類型要麼與後面的類相同,要麼與後面的類具有父子繼承關系否則會引發編譯錯誤。

一個簡單的例子:

代碼如下:

/**
 * instanceof 運算符
 * @author Administrator
 *
 */

public class TestInstanceof {
    public static void main(String[] args) {
        //聲明hello 時使用Object類,則hello的編譯類型是Object
        //Object類是所有類的父類,但hello的實際類型是String
        Object hello = "Hello";

        //String是Object的子類可以進行instanceof運算,返回true
        System.out.println("字符串是否為object類的實例:"
                + (hello instanceof Object));

        //true
        System.out.println("字符串是否為String的實例:"
                + (hello instanceof String));

        //false
        System.out.println("字符串是否為Math類的實例:"
                + (hello instanceof Math));

        //String實現了Comparable接口,所以返回true
        System.out.println("字符串是否為Comparable類的實例:"
                +(hello instanceof Comparable));

        /**
         * String 既不是Math類,也不是Math類的父類,故下面代碼編譯錯誤
         */
        //String a = "hello";
        //System.out.println("字符串是否為Math類的實例:"
        //        + (a instanceof Math));

    }
}

運行結果:

代碼如下:

字符串是否為object類的實例:true
字符串是否為String的實例:true
字符串是否為Math類的實例:false
字符串是否為Comparable類的實例:true

通常在進行強制類型轉換之前,先判斷前一個對象是不是後一個對象的實例,是否可以成功轉換,從而保證代碼的健壯性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved