java中instanceof的基本使用
阿新 • • 發佈:2018-11-16
java中的instanceof運算子是用於判斷物件是否是指定類或這個指定類的子類的一個例項,返回值是布林型別。
語法:
boolean result = object instanceof class
引數說明:
result:返回結果值,true或false。true表示object是指定類或指定類子類的一個例項;false不是。
注:如果object是null,返回false。
object:必選項,需要判斷的物件
class:必選項,已定義的類
特殊情況:
在編譯狀態中,class可以是object物件的父類,自身類,子類。在這三種情況下Java編譯時不會報錯。
在執行轉態中,class可以是object物件的父類,自身類,不能是子類。在前兩種情況下result的結果為true,最後一種為false。但是class為子類時編譯不會報錯。執行結果為false。
舉個栗子:
關閉資源的通用方法:
public static void closeAll(Object... args){ for(int i = 0; i < args.length; i++){ //close ResultSet if(args[i] instanceof ResultSet){ closeResultSet((ResultSet)args[i]); continue; } //close Statement if(args[i] instanceof Statement){ closeStatement((Statement)args[i]); continue; } //close PreparedStatement if(args[i] instanceof PreparedStatement){ closePreparedStatement((PreparedStatement)args[i]); continue; } //close Connection if(args[i] instanceof Connection){ closeConnection((Connection)args[i]); continue; } } }