【发布时间】:2018-01-07 15:01:44
【问题描述】:
我想使用来自 clojure 的 mXparser,它有一个带有多个构造函数的 Expression Java 类:
public Expression(PrimitiveElement...elements) { ... }public Expression(String expressionString, PrimitiveElement...elements) { ... }
在 Java 中,我可以使用 String 参数创建新实例:
Expression e = new Expression("1+2");
我假设它使用的是第二个构造函数,因为第一个参数是字符串,第二个是可选的。
现在我想在 clojure 中做同样的事情:
(Expression. "1+2")
失败了
java.lang.String cannot be cast to [Lorg.mariuszgromada.math.mxparser.PrimitiveElement;
看起来它正在尝试使用不是我想要的第一个构造函数。
如何在 Clojure 中仅使用字符串参数创建此类的新实例?
【问题讨论】:
-
你必须指定可变参数,stackoverflow.com/q/11702184。
标签: java constructor clojure optional-parameters