JAVA 반사를 통해 상위 클래스의 범주를 가져옵니다.

812 단어
package test;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

/**
 *
 * @author MLeo
 * @param <T>
 */
public class MainTest<T> extends Test<T> {

    public static void main(String[] args) {
        MainTest test = new MainTest();
        System.out.println(test.main());
    }

    public Object main() {
        Type type = getClass().getGenericSuperclass();
        if (type instanceof ParameterizedType) {
            ParameterizedType parameterizedType = (ParameterizedType) type;
            Type[] types = parameterizedType.getActualTypeArguments();
            if (types.length > 0) {
                String typeName = types[0].getTypeName();
                return typeName;
            }
        }
        return null;
    }

}

좋은 웹페이지 즐겨찾기