关于 getParameterrizedTyped() 的实现
Topic source1.纯java解决方案
(Class) ((ParameterizedType) SubGen.class.getGenericSuperclass()).getActualTypeArguments()[0];
2.Spring解决方案
GenericTypeResolver.resolveTypeArguments(SubGen.class, Gen.class)[0];
- 1
1.纯java解决方案
(Class) ((ParameterizedType) SubGen.class.getGenericSuperclass()).getActualTypeArguments()[0];
2.Spring解决方案
GenericTypeResolver.resolveTypeArguments(SubGen.class, Gen.class)[0];
就是有气派
我内部使用的是 Class.getTypeParameters() 这个函数,您的项目里使用了 Class.getGenericSuperclass() 这个函数。
我看了一下两个函数的文档,大概想了一下,是不是因为运行时多态的原因, getParameterrizedTyped() 是在 UserDao 作为单例初始化的时候被调用的,实际是要获取父类的泛型实际类型,所以 getTypeParameters() 会返回为空?应该是这个原因吧。
哎,还是得好好学英语,好多语法都忘了