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. 遞歸檢查超類type_info
- 2. java.lang.Object類的行爲
- 3. cURL檢查超時
- 4. Swift:如何檢查子類上的基類和超類
- 5. 在Django中檢查相關模型的超類
- 6. 檢查註釋處理器中是否存在超類
- 7. 抽象超類的Matlab OOP類型檢查
- 8. GWT和notifyAll()(java.lang.Object)
- 9. 檢查超時的算法
- 10. 檢查子類中的值,然後將其發送到私有超類變量
- 11. 類(類型)檢查
- 12. 從java.lang.Object訪問clone()
- 13. 檢查類型
- 14. 檢查該類
- 15. 檢查類名
- 16. 在SPARQL中查找超類實體
- 17. 查找「老三」超類
- 18. 如何將java.lang.Object轉換爲Scala中的特定類型?
- 19. 檢查超類/接口方法和等式的重寫方法
- 20. API檢查超過任何數據類型的最大值
- 21. Java - 從Java.lang.Object類型轉換爲自定義類的實例
- 22. (java.lang.String中)不能適用於(java.lang.Object中)
- 23. 查找子類ID從超類ID
- 24. 類型檢查和範圍檢查
- 25. 如何檢查類級方法是否在超類或Objective C中的子類中?
- 26. 類型檢查的子類
- 27. 查找類集合中最近的公共超類(或超級界面)
- 28. XSLT類型檢查
- 29. typedef類型檢查?
- 30. jQuery檢查childNode類
這可能拋出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