2 qq 34052254 qq_34052254 于 2017.01.09 13:04 提问

通过JDBC的泛型CRUD问题,基于Spring mvc ,数据库oracle

spring mvc 泛型如何获得实体类名字。
Type t = getClass().getGenericSuperclass();
if ( t instanceof ParameterizedType ) {
Type[] p = ( (ParameterizedType) t ).getActualTypeArguments();
entityClass = (Class) p[0];
} else {
entityClass = (Class) Object.class;
}

    simpleName = StringTools.getTableName(entityClass.getSimpleName());


            每次执行测试类都报错 无法获得实体类名

2个回答

engchina
engchina   Rxr 2017.01.09 13:34

getCanonicalName 取到的是你想要的吗?

 import java.util.ArrayList;
import java.util.List;

public class Test {

    public static void main(String[] args) throws ClassNotFoundException {

        List<String> list = new ArrayList<String>();
        list.add("abc");
        System.out.println("the type of the list is: " + classTypeOfList(list));
    }

    public static <T> String classTypeOfList(List<T> list) throws ClassNotFoundException {
        return list.get(0).getClass().getCanonicalName();
    }

}

输出

 the type of the list is: java.lang.String
xionglangs
xionglangs   Rxr 2017.01.13 17:27
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!