Here you can find the source of getAllSuperclasses(Class cls)
public static Class[] getAllSuperclasses(Class cls)
//package com.java2s; /*/*from w w w. ja v a 2 s . c o m*/ * Copyright 2003-2009 the original author or authors. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import java.util.ArrayList; import java.util.List; public class Main { public static Class[] getAllSuperclasses(Class cls) { if (cls == null) { return new Class[0]; } List<Class> classList = new ArrayList<Class>(); Class superClass = cls; while (superClass != null && !Object.class.equals(superClass) && !Class.class.equals(superClass)) { classList.add(superClass); superClass = superClass.getSuperclass(); } return classList.toArray(new Class[classList.size()]); } }