java - Java 编译器是否有非类型删除的泛型扩展可用作第 3 方编译器扩展?

标签 java generics compiler-construction

我对类型删除的 Java 泛型的限制越来越感到沮丧。我想知道是否有一个自定义 Java 编译器可以提供完整版本的泛型,而没有与类型删除相关的怪癖?

克里斯

最佳答案

这不仅仅是需要更改编译器。我认为还需要以与 JVM 规范不兼容的方式更改 JVM 实现,并以与当前 API 不兼容的方式更改 Java 类库。

例如,checkcast 指令的语义发生了显着变化,Object.getClass() 操作返回的对象也必须发生变化。

简而言之,最终结果将不再是“Java”,并且绝大多数 Java 开发人员不会感兴趣。并且使用新工具/JVM/库开发的任何代码都会受到污染。

现在,如果 Sun/Oracle 提议/进行此更改...将会很有趣。

关于java - Java 编译器是否有非类型删除的泛型扩展可用作第 3 方编译器扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2894152/

相关文章:

java - 强制转换设置为可迭代

java - 在java中创建一个通用数组

c++ - 为什么需要模运算符?

java - 获取 R2DBC 失败,此发布者不支持多订阅者

java - Spring Security - 405请求方法 'POST'不支持

java - 有什么好的方法可以获取下周三的日期吗?

c++ - 如何识别可执行文件是由 C 还是 C++ 编译的?

java - 确保线程在 Java 中获得(大约)相等的 CPU 时间

generics - 如何使用 num::Integer 类型的数字文字?

java - 关于java的5个问题