gpt4 book ai didi

clojure - 如何在 clojure 中添加 typehint 以修复 "ctor can' 无法解决”反射警告,即调用构造函数?

转载 作者:行者123 更新时间:2023-12-03 13:38:51 24 4
gpt4 key购买 nike

以下示例函数使用 Clojure 的 Java 互操作的特殊形式来调用类构造函数,会导致反射警告:

(defn test-reflection-err []
(new java.util.HashMap {}))
该消息内容如下:
Reflection warning, /Users/ethan/Projects/scicloj/tablecloth.time/src/tablecloth/time/index.clj:26:3 - call to java.util.HashMap ctor can't be resolved.
我试过放置类型提示来避免这种情况,但不确定将它们放置在哪里以防止反射错误。有谁知道如何做到这一点?
我试过了:
(defn test-reflection-err []
(^TreeMap new java.util.HashMap {}))
(defn test-reflection-err []
(doto ^TreeMap (new java.util.HashMap {})))

最佳答案

您需要向构造函数参数添加提示:

(let [^java.util.Map m {}]
(new java.util.HashMap m))

关于clojure - 如何在 clojure 中添加 typehint 以修复 "ctor can' 无法解决”反射警告,即调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65676456/

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