类型擦除如何帮助 Clojure 存在?

发布于 2024-09-25 09:13:47 字数 88 浏览 6 评论 0原文

JVM 类型擦除对 Clojure 有什么帮助?没有它,Clojure 还能存在吗?如果 JVM 具有具体化类型会发生什么?也就是说,Clojure 将如何改变?

How does JVM type erasure help Clojure? Can Clojure exist without it? What would happen if the JVM had reified types? That is, how would Clojure change?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天煞孤星 2024-10-02 09:13:47

Clojure 根本不会改变太多。类型擦除仅适用于 Java 的泛型类型参数。所有其他类型都在运行时可用。

浏览一下 Clojure 的源码,它根本没有太多使用泛型。在运行时中,它传递Object 并执行 instanceof 检查。通过将所有内容视为对象,它不需要泛型,因此不需要删除任何类型参数。

Clojure wouldn't change much at all. Type erasure only applies to Java's type-parameters for generics. All other types are available at runtime.

Browsing Clojure's source, it does not use generics much at all. In the runtime, it passes around Objects and does instanceof checks. By treating everything as an Object, it has no need for generics, and thus, there are no type-parameters to be erased.

随心而道 2024-10-02 09:13:47

据我所知,Clojure 不使用 JVM 的类型擦除,所以我认为如果没有它,不会有太大变化。

From what I can tell Clojure does not use type erasure from the JVM, so i dont think much would change with out it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文