instanceof如何工作?當我有一個擴展和實現彼此的對象的層次結構時,是否通過這兩條線有效地工作?Java instanceof implements/extends
例如,我想知道我的對象是否是List
或ArrayList
或Collection
的實例?
我觀察這棵樹,http://docs.oracle.com/javase/6/docs/api/java/util/package-tree.html
他們似乎Object
下的所有下跌ofcourse,但我需要什麼,我覺得是AbstractCollection
甚至不能正常Collection
,因爲這似乎是在層次結構中最高的。
當我檢查一個對象時,我僅僅檢查對象Collection
來覆蓋所有這3個類嗎?
確定後返回true,我可以以某種方式檢索第一個項目,他們有我可以使用的通用方法,因爲他們是'instanceof集合',我應該能夠使用'iterator.next()' – Jaanus
哦,你想迭代所有*實現Collection的類?沒有真正的方法來做到這一點。你需要什麼? – Thilo
或者你想要類X繼承的類和接口的「樹」?你可以通過反射來完成:Class#getClasses http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getClasses%28%29 – Thilo