2009-11-08 60 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