为什么Java泛型类型参数在运行时没有实现?

前端之家收集整理的这篇文章主要介绍了为什么Java泛型类型参数在运行时没有实现?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的理解是C#和 java在某些方面在泛型方面有所不同,其中之一是泛型类型参数在运行时在C#/ .NET中可用但在 Java中不可用.为什么 Java语言设计者会这样做?

解决方法

允许二进制兼容pre-generics字节码,因此允许新代码与旧代码接口.

从The Java Tutorials的Type Erasure页开始:

Type erasure enables Java applications
that use generics to maintain binary
compatibility with Java libraries and
applications that were created before
generics.

[…]

Type erasure exists so that new code
may continue to interface with legacy
code.

有关相关问题,请查看C# vs Java generics.

原文链接:https://www.f2er.com/java/127519.html

猜你在找的Java相关文章