我用
if (clazz.getSuperclass().getName() == "java.lang.Object")
有没有更好的办法?
最佳答案
if (clazz.getSuperclass() == Object.class)
您的原始实现存在 2 个问题:
getSuperclass
可能会返回null
并且当您调用 getName 时会得到 NPE- 您对字符串使用身份相等(
==
而不是equals
)。奇怪的是,它在这种情况下可能会起作用,因为"java.lang.Object"
字符串可能已被内部化。
关于java - 检查父类(super class)是否为 java.lang.Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946080/