java中 对于一个方法 加上泛型的行为 到底有什么意思.意义在那里?

2025-04-14 15:46:39
推荐回答(1个)
回答1:

  1. 这是为了提升一点类型检查的能力,强类型的语言还是希望多提供点类型系统的保障。不太希望代码里出现太多的类型转换(泛型由编译程器转换类型,代码里就少了转换)

  2. Java由于受限于虚拟,所以实现才会让你觉得作用不大。如果你用过C++的模板的话,你大概就知道在C++里模板会生成不同的类,比如你的show如果用C++写,当T是int时只是传入4byte大小的整型,当T为double时是传入8byte的双精度浮点。

  3. 其实Java里还有public void show(T t){}和public void show(T t){}这样的形式,可以把类型限制在一个比object更小的集里,这样就不会是个对象都往里传。大多数函数本来就不适用所有类型,又不只适用一种类型。