在使用物件導向開發時我們常常會使用A instanceof B
代表 A為B的子類,例如ArrayList instanceof List
假設今天必須實做的是class<?> type呢
我查詢了許多方法,目前找到比較適合的方式是把所有的superclass都列出來直到找到最後一個為止(通常是Object)
例如 MainActivity.class.getsuperclass
這樣就可以判別是否為正確的物件,當然判斷的時候必須包含package name,代表 A為B的子類,例如ArrayList instanceof List
假設今天必須實做的是class<?> type呢
我查詢了許多方法,目前找到比較適合的方式是把所有的superclass都列出來直到找到最後一個為止(通常是Object)
例如 MainActivity.class.getsuperclass
Class<?> superClass = MainActivity.class.getSuperclass(); while(superClass.getName().indexOf("Object")<0) { Log.d("Ted", superClass.getName()); superClass = superClass.getSuperclass(); }
例如 com.example.myactivity 之類的
沒有留言:
張貼留言