java:通过反射实现泛型的实例化(T t = new T())

public D newD(){
        D newD;
        try {
            // 通过反射获取model的真实类型
            ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
            Class clazz = (Class) pt.getActualTypeArguments()[0];
            // 通过反射创建model的实例
            newD = clazz.newInstance();
        } catch (Exception e) {
            throw new RuntimeException(e);
       }
       return newD;
}

 

你可能感兴趣的:(Android,Java)