java - 将 Java 类导入 Clojure

标签 java class import clojure

尝试在 java 库之外导入一个类,但没有结果。我在 Eclipse Helios 上逆时针运行。 commons-land-2.6.jar 在构建路径中。我是 Clojure 的新手,无法弄清楚这一点。非常感谢所有帮助!

自然这很好用:

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

> java.io.FileReader

但这不是:

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

> nil

这是最终目标:

1:10 exp2=> (defn whitespace? [character] (.StringUtils (isEmpty character )))

> java.lang.Exception: Unable to resolve symbol: StringUtils in this context (repl-1:10)

最佳答案

您犯了一个错误 - 您没有在 org.apache.commons.lang 和 StringUtils 类之间放置空格。这种导入形式允许您从一个包中导入多个类,例如:

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

如果你只想导入一个类,那么你可以使用不带括号的版本:

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

并且因为StringUtils中的函数是静态的,所以需要使用如下代码:

(StringUtils/isEmpty character)

调用它们的函数

关于java - 将 Java 类导入 Clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836531/

相关文章:

c++ - Assimp-如何使用任何文件格式导入带有纹理的网格?

hadoop - 错误无法识别的参数 --hive-partition-key

php - 如何根据分隔键将文本插入数据库

java - SPOJ 生命宇宙和一切

java.sql.SQLException : ORA-01501: CREATE DATABASE failed ORA-01100: database already mounted

java - 如何编写java线程池程序来读取文件内容?

C++ 重载运算符 []

java - 在 phpmyAdmin 中验证用户名和密码

c++ - 如何为指针类创建静态模板函数?

c++ - 在 C++ 中什么时候应该使用类还是结构?