Check if a Class Object is subclass of another Class Object in Java

前端 未结 8 1049
鱼传尺愫
鱼传尺愫 2020-11-28 20:33

I\'m playing around with Java\'s reflection API and trying to handle some fields. Now I\'m stuck with identifying the type of my fields. Strings are easy, just do myFi

8条回答
  •  星月不相逢
    2020-11-28 21:00

    In addition to @To-kra's answer. If someone doesn't like recurrence:

        public static boolean isSubClassOf(Class clazz, Class superClass) {
            if(Object.class.equals(superClass)) {
                return true;
            }
    
            for(; !Object.class.equals(clazz); clazz = clazz.getSuperclass()) {
                if(clazz.getSuperclass().equals(superClass)) {
                    return true;
                }
            }
    
            return false;
        }
    

    NOTE: no null checking for clarity.

提交回复
热议问题