qq_34052254 2017-01-09 05:04 采纳率: 25%
浏览 1051

通过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 优质创作者: 人工智能技术领域 2017-01-09 05: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
    
    评论

报告相同问题?