4
A
回答
9
if (clazz.getSuperclass() == Object.class)
有2個問題,你原來的實現:
getSuperclass
可能會返回null
,你會得到NPE,當你調用的getName- 您可以使用身份平等的String(
==
代替equals
)。奇怪的是,它可能在這種情況下工作,因爲"java.lang.Object"
字符串可能是內部化的。
3
如何
if (clazz.getSuperclass().equals(java.lang.Object.class))
相關問題
- 1. 超類檢查respondsToSelector失敗
- 2. 遞歸檢查超類type_info
- 3. 檢查派生類具有超類
- 4. 如何在ActionScript3中檢查超類中的子類類型
- 5. cURL檢查超時
- 6. Swift:如何檢查子類上的基類和超類
- 7. 如何編寫Hibernate Criteria查詢,查找超類,並檢查某個子類?
- 8. 在Django中檢查相關模型的超類
- 9. 檢查註釋處理器中是否存在超類
- 10. 找不到java.lang.Object的類文件
- 11. java.lang.Object類如何加載本地函數?
- 12. 斯卡拉父類像父類在Java中I,E java.lang.Object繼承
- 13. GWT和notifyAll()(java.lang.Object)
- 14. java.lang.Object中不能被轉換
- 15. 檢查超時的算法
- 16. 檢查有效超載
- 17. 在Laravel中檢查會話超時
- 18. 在JavaScript中檢查會話超時
- 19. 檢查子類中的值,然後將其發送到私有超類變量
- 20. 類(類型)檢查
- 21. 檢查元素中的類
- 22. java.lang.Object的源代碼
- 23. java.lang.Thread.State:對java.lang.Object的BLOCKED
- 24. 從java.lang.Object訪問clone()
- 25. 檢查類型
- 26. 檢查UITextInteractionAssistant類
- 27. 檢查該類
- 28. 檢查類名
- 29. 在SPARQL中查找超類實體
- 30. 查找「老三」超類
這可能拋出NPE如果clazz中是原始或'java.lang.Object'。可能'Object.class.equals(clazz.getSuperclass())'更健壯。另外'java.lang.Class'是可以使用身份比較的類之一。 – 2010-05-31 21:51:20
@亞歷山大,好點,謝謝。我對身份比較並不是很確定,所以我使用了「等號」 - 因此讓自己陷入了另一段腿:-) – 2010-06-01 05:25:27