if ( clazz.getSuperclass( ) == Object.class )
В исходной реализации есть 2 проблемы:
getSuperclass
может вернуть null
, и вы получите NPE при вызове getName
- Вы используете равенство идентичности со строкой (
==
вместо equals
). Как ни странно, в этом случае это может сработать, поскольку строка "java.lang.Object"
, вероятно, интернализована.