2009-11-08 62 views
8

给定一个java包x.y.z,我可以将x.y.z别名为一个较短的名称,以便我可以引用包中的java类作为my-alias.MyJavaClass。在clojure中别名java包名称

如果这是不可能的,我可以只将import所有的类放到我的命名空间中,但我不想手动指定每个类的名称,而且clojure API文档似乎不清楚它是否可行到import包中的所有类都会自动生成。

回答

10

这个(还没有)的功能。 Java包与Clojure不在同一个命名空间中,所以通常的别名技巧将不起作用。

你可以做的是导入每个类,它可以让你避免全包+类名:

(import [java.io File Writer Reader]) 
(new File "/") 
; #<File /> 

丰富提供了理由不支持(import [java.io.*])here