使用Clojure

时间:2018-01-07 15:01:44

标签: java constructor clojure optional-parameters

我想使用clojure中的mXparser,它有一个带有多个构造函数的Expression Java类:

  1. public Expression(PrimitiveElement...elements) { ... }
    
  2. public Expression(String expressionString, PrimitiveElement...elements) { ... }
    
  3. 在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中创建此类的新实例?

1 个答案:

答案 0 :(得分:1)

根据glts的评论,它以这种方式运作:

(Expression. "1+2" (into-array PrimitiveElement []))
相关问题