gpt4 book ai didi

clojure - clojure 中调用 java 工厂方法时出错 : more than one matching method found

转载 作者:行者123 更新时间:2023-12-02 16:06:34 25 4
gpt4 key购买 nike

在此示例中 - http://jscience.org/api/javax/measure/package-summary.html ,当我尝试在 clojure 中运行时,出现错误。

(import 'javax.measure.unit.SI)
(import 'javax.measure.Measure)

(Measure/valueOf 2 SI/KILOGRAM)
;; => More than one matching method found: valueOf
[Thrown class java.lang.IllegalArgumentException]

还有这方面的事情吗?

更新

实际的java代码是这样的:

public static <Q extends Quantity> Measure<java.lang.Integer, Q> valueOf(
int intValue, Unit<Q> unit) {
return new Integer<Q>(intValue, unit);
}

public static <Q extends Quantity> Measure<java.lang.Float, Q> valueOf(
float floatValue, Unit<Q> unit) {
return new Float<Q>(floatValue, unit);
}

我得到的错误是:

More than one matching method found: valueOf  [Thrown class java.lang.IllegalArgumentException]Restarts: 0: [QUIT] Quit to the SLIME top levelBacktrace:  0:          Compiler.java:2360 clojure.lang.Compiler.getMatchingParams  1:          Compiler.java:1555 clojure.lang.Compiler$StaticMethodExpr.  2:           Compiler.java:938 clojure.lang.Compiler$HostExpr$Parser.parse  3:          Compiler.java:6455 clojure.lang.Compiler.analyzeSeq  4:          Compiler.java:6262 clojure.lang.Compiler.analyze  5:          Compiler.java:6223 clojure.lang.Compiler.analyze  6:          Compiler.java:5618 clojure.lang.Compiler$BodyExpr$Parser.parse  7:          Compiler.java:5054 clojure.lang.Compiler$FnMethod.parse  8:          Compiler.java:3674 clojure.lang.Compiler$FnExpr.parse  9:          Compiler.java:6453 clojure.lang.Compiler.analyzeSeq

最佳答案

很可能您正在调用静态重载方法(即 Measure.valueOf(double, Unit)Measure.valueOf(float, Unit))。尝试将您的值转换为所需的类型,如下所示(假设您要调用 Measure/valueOf(float, Unit):

(Measure/valueOf (float 2) SI/KILOGRAM)

关于clojure - clojure 中调用 java 工厂方法时出错 : more than one matching method found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580562/

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