java中 对于一个方法 加上泛型的行为 到底有什么意思.意义在那里?
如:public<T>voidshow(Tt){}大家都知道这种鬼样字的泛型方法你传什么类型就是什么类型只要是引用的这种在方法上加这种样子的泛型我感觉就是吃撑了一样的事....
如 : public <T> void show(T t){}
大家都知道 这种鬼样字的 泛型方法 你传什么类型就是什么类型 只要是引用的
这种 在方法 上加这种样子的 泛型我感觉 就是吃撑了一样的 事. 为什么? 意义是什么?? 你传个参数 形参还不如 用Object 简单直接 明了 .
还有就是这种
public <T> void arr(T [ ] t) {}
到底他奶奶的 有何用? 为什么 不直接 弄成
public void arr(Object [ ] ob){}
概念 有什么不同
每个方法的的泛型属于独立的. 并且与类还扯不上什么关系. 你说. 你说.你们快说 到底有何用 看着还别扭!! 展开
大家都知道 这种鬼样字的 泛型方法 你传什么类型就是什么类型 只要是引用的
这种 在方法 上加这种样子的 泛型我感觉 就是吃撑了一样的 事. 为什么? 意义是什么?? 你传个参数 形参还不如 用Object 简单直接 明了 .
还有就是这种
public <T> void arr(T [ ] t) {}
到底他奶奶的 有何用? 为什么 不直接 弄成
public void arr(Object [ ] ob){}
概念 有什么不同
每个方法的的泛型属于独立的. 并且与类还扯不上什么关系. 你说. 你说.你们快说 到底有何用 看着还别扭!! 展开
展开全部
这是为了提升一点类型检查的能力,强类型的语言还是希望多提供点类型系统的保障。不太希望代码里出现太多的类型转换(泛型由编译程器转换类型,代码里就少了转换)
Java由于受限于虚拟,所以实现才会让你觉得作用不大。如果你用过C++的模板的话,你大概就知道在C++里模板会生成不同的类,比如你的show如果用C++写,当T是int时只是传入4byte大小的整型,当T为double时是传入8byte的双精度浮点。
其实Java里还有public <T extend ClassA> void show(T t){}和public <T super ClassA> void show(T t){}这样的形式,可以把类型限制在一个比object更小的集里,这样就不会是个对象都往里传。大多数函数本来就不适用所有类型,又不只适用一种类型。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询