从Clojure导入Java类中的Java类

时间:2016-06-18 12:02:38

标签: java clojure

如何从Clojure导入位于另一个Java类中的Java类?

我尝试导入的类是位于LibGDX库中的Pixmap.Format。由于play-clj处理与LibGDX for Clojure的集成,因此从LibGDX本身实际导入类没有任何问题。问题在于导入位于Pixmap类中的Format类。

我尝试过几件不同的事情:

; This I have tried
(ns pfft.test 
    (:import com.badlogic.gdx.graphics Pixmap.Format))

; And this
(ns pfft.test 
    (:import com.badlogic.gdx.graphics Pixmap/Format))

; This
(ns pfft.test 
    (:import com.badlogic.gdx.graphics.Pixmap.Format))

我也尝试过这样调用这个类:

(Pixmap/Format/RGBA8888)

但是Clojure告诉我,没有这样的领域,显然是这样。

这也不起作用:

((Pixmap/Format)/RGBA8888)

作为......

/RGBA8888

......根本不被承认。

1 个答案:

答案 0 :(得分:5)

您要查找的分隔符是$,因此您可以像这样导入嵌套类:

(import com.badlogic.gdx.graphics.Pixmap$Format)

或者像这样:

(import (com.badlogic.gdx.graphics Pixmap$Format))

然后您可以像这样访问Pixmap$Format的静态字段:

Pixmap$Format/RGBA8888

有关详细信息,请参阅this Stack Overflow questionthis part of the Clojure docs