例如在C#中有一个性能优势,因为它有助于避免装箱/拆箱,但正如我在Java中理解的那样,在字节代码级别没有泛型的“想法”,因此在编译之后它具有与集合相同的字节代码.
那么说没有性能优势是对的吗?
Comparing Java and C# Generics
正如你在C#中所说的,性能将受益,因为Generics可以帮助你避免装箱/拆箱.深度原因是.NET泛型支持值类型,但Java泛型不适用于原始类型,这就是为什么它无法消除装箱/拆箱的开销.
但是你仍然有编译时类型检查,并且你的代码中不需要显式的强制转换.