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
廣告