如何从Java类对象连接静态方法?

时间:2013-03-13 16:01:45

标签: java clojure

我正在尝试从这里找到的Vec2D类中调用randomVector方法http://toxiclibs.org/docs/core/

这是我的代码:

(def particles (new ArrayList))


(defn add-particle []
  (dotimes [i 100]
    (doto particles
      ;(.add (new Vec2D (random (width)) (random (height))))
      (.add (Vec2D/randomVector))))

到目前为止这么好但我需要调用其他方法,如scale和从同一个类添加,我不知道如何在Clojure中做到这一点

以下是我在Java中的表现:

Vec2D position = Vec2D.randomVector().scale( 60 ).add( canvasCenter );

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

尝试以下代码,应该调用java静态方法,如(ClassName/methodName arguments)

(defn add-particle []
  (dotimes [i 100]
    (doto particles
      (.add (Vec2D/randomVector)))))

对于您的第二个问题,您需要在某处定义canvasCenter

(defn add-particle []
      (dotimes [i 100]
        (doto particles
          (.add (.scale (Vec2D/randomVector) (float 60)) canvasCenter)))