题主之前写过一点c#,现在因业务需要用JAVA,发现基于jvm的许多语言都有类型擦除,用着确实体验不太好。这里想问一问JAVA社区有没有计划移除类型擦除,或者目前有没有一款jdk是没有类型擦除的?
我觉得移除类型擦除的可能性不大,有太多历史代码过不了强类型检查。别的都好说,可以降级为 Object 来处理。但是类型反射那一部分可能有难度。
个人感觉 Kotlin 还是蛮好用的,这里有一个我在团队的分享录像可以了解一下,因为是内部分享,没太注意语言这些,用的椒盐普通话。有些听不太清的地方,看字幕,或者直接忽略就好了。
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
不太可能。
因为一开始做成类型擦除的泛型形式就是为了保持兼容性。而你的想法正好与这个初衷背道而驰。
不过你倒是可以期待一下 Valhalla 这个提案,虽然还是会类型擦除,但是会特化泛型,起码在运行时还是可以拿到一些泛型信息的,而不是像现在这样必须还得传个 Class<?> 才行。