gpt4 book ai didi

java - 如何在混合 Java 版本的世界中使用泛型?

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:27 24 4
gpt4 key购买 nike

我非常喜欢泛型,并尽可能地使用它们。时不时地,我需要在另一个项目中使用我的一个类,该项目必须在旧的 JVM(5.0 之前)上运行,需要在 JavaME(不允许泛型)或 Microsoft J#(非常差)中运行支持泛型)。

目前,我手动删除所有泛型,这意味着也插入许多转换。

既然泛型据说是只编译时的,并且每一段泛型代码都可能自动转换为非泛型代码,我想知道是否有任何工具可以为我做到这一点。

如果没有这样的工具,我还能如何解决问题?我应该完全停止使用泛型吗?

已经有与字节码兼容性相关的答案。如果出于某种原因我需要源代码兼容性怎么办?

最佳答案

你需要使用类似 Retroweaver 的东西为了达到这种目的。这个问题的其他答案有点误导。泛型是一种与以前版本兼容的字节码,但不完全兼容(如果您不相信我,请参阅 java.lang.reflect.Type)。此外,还有字节码版本属性的问题,这将阻止针对 1.5 编译的类在以前的版本上运行。 Retroweaver 解决了这两个问题,同时还启用了其他 Java 5 功能,如注释和枚举。

关于java - 如何在混合 Java 版本的世界中使用泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com