2011-01-29 26 views
15

Java kütüphanesinin dışında bir sınıfın sonuçsuz olarak içeri aktarılmaya çalışılması. Eclipse Helios'ta saat yönünün tersine koşuyorum. Commons-land-2.6.jar buildpath içinde. Clojure’da yeniyim ve bunu anlayamıyorum. Tüm yardım büyük beğeni topladı!Java sınıflarını Clojure'a içe aktarma

1:7 exp2=> (import '(java.io FileReader)) 

> java.io.FileReader

ama bu değil:

Doğal olarak bu iyi çalışır

1:6 exp2=> (import '(org.apache.commons.lang.StringUtils)) 

> nil

Bu nihai hedef:

1:10 exp2 => (tanımlanmış boşluk? [Karakter])

> java.lang.Exception (StringUtils (isEmpty karakter).): Bu bağlamda (repl-1'de StringUtils: sembol çözülemiyor 10)

cevap

23

Birini yapılan error - org.apache.commons.lang ve StringUtils sınıfı arasında boşluk bırakmadınız.

(import 'org.apache.commons.lang.StringUtils) 

Ve çünkü: parantez olmadan sadece tek sınıfını içe istiyorsanız

(import '(org.apache.commons.lang StringUtils SystemUtils)) 

, o zaman kullanabilirsiniz versiyon: ithalat Bu form, örneğin bir paketten birkaç sınıfları ithalat sağlar StringUtils işlevler statiktir, kod aşağıdaki kullanmak gerekir:

(StringUtils/isEmpty character) 

işlevlerini çağırmak için

İlgili konular