感觉和java的泛型是一回事:
LS……全部错误。 作为参数化类型的实现,Java的泛型和C++的模板的设计目标看起来比较像,使用起来的语法有类似之处,但是内部实现的原理完全不同。 C++的模板特性是是编译时对于给定的不同的模板类型参数生成对应版本的目标代码。而Java中的泛型是用类型擦除实现的语法糖,实际上在编译期类型检查以外,生成目标代码的过程中根本不区分泛型的类型参数,只不过针对object(而不是类型参数)生成代码,同时在必要处插入从object到给定的类型参数的类型转换而已(也因此类型参数不能是基本类型参数,C++模板就没这个限制),不会比手动实现显式类型转换有更高的运行期效率(不过可以在源代码中省略类型转换能稍微减少写源代码过程中的出错机会)。所以,某种意义上来说,Java的泛型是伪泛型,这也是Java中被人(例如Bruce Eckel)批评最多的特性之一。 ==== [原创回答团]上面是百度知道的答案,连接如下: