public static <T> T request2Bean(HttpServletRequest request,Class<T> clazz){}
//和
public static T request2Bean(HttpServletRequest request,T clazz){}
可以详细说一下吗,谢谢大佬了
第二种写法编译都不会通过吧,要么按第一种方式写,要么把第二个方法改成非static的。
第一种方式不需要在类上指定泛型,属于方法泛型。
第二种方式在去掉static后,属于对象方法,需要在类上指定泛型,如class Demo<T> {...},因为泛型在实际运行中是需要确定是哪种类型的,所以在new一个类的对象时就要明确是哪种类型。而static的方法是不需要new对象就能调用的,所以不能写成第二种方式。
一个是泛型方法,一个是返回值
第一个是泛型方法,<T>是先定义,后面的 T 才是使用
第二个是泛型类,没错,就是泛型类。必然是在泛型类上先有<T>的定义,然后这里的方法就直接用到了T。
总之,记住,用泛型必然是,先定义:<T> , 后使用 T
具体可以看我的博客,有专门的泛型使用说明,哈哈。
<T> T表示返回值是一个泛型,传递啥,就返回啥类型的数据,而单独的T就是表示限制你传递的参数类型。em,,我不知道该怎么给你详细解释:
参考下这:https://www.cnblogs.com/goldmei88/articles/11259577.html