java 中的 instanceof 運算子與 isInstance 方法


isInstance 方法等同於 instanceof 運算子。當使用反射在執行時建立物件時,使用該方法。一般做法是,如果要在執行時檢查型別,則使用 isInstance 方法,否則可以使用 instanceof 運算子。請看下面的示例 −

示例

 即時演示

public class Tester{
   public static void main(String[] args) throws ClassNotFoundException {
      Integer i = new Integer(10);
      System.out.println(usingInstanceOf(i));
      System.out.println(usingIsInstance(i));
   }

   public static String usingInstanceOf(Object i){
      if(i instanceof String){
         return "String";
      }
      if(i instanceof Integer){
         return "Integer";
      }
      return null;
   }
   public static String usingIsInstance(Object i) throws ClassNotFoundException{
      if(Class.forName("java.lang.String").isInstance(i)){
         return "String";
      }
      if(Class.forName("java.lang.Integer").isInstance(i)){
         return "Integer";
      }
      return null;
   }
}

輸出

Integer
Integer

更新於: 2020 年 6 月 23 日

297 次瀏覽

開啟你的 職業生涯

完成該課程即可獲得認證

開始
廣告