问题标签 [clojure-java-interop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1137 浏览

clojure - 在clojure中扩展java类:如何只覆盖两个相似方法之一?

我有以下java类。

我想覆盖 aMethod(A a) 而不是 aMethod(B b)。我能做到的唯一方法是:

有一个更好的方法吗?(我的意思是自己不检查 x 的类型)。

0 投票
2 回答
681 浏览

clojure - 如何通过 REPL 探索 Java 方法

我正在玩 Clojure 和 Java Interop,我想出了以下方法来检查某些实例的方法:

但我想知道,鉴于这是从 REPL 获取此信息的一种非常实用的方法,是否有一些库可以实现这一点(以及更多)。

0 投票
1 回答
365 浏览

clojure - 如何使用 Clojure 记录实现这个通用 Java 接口?

我正在尝试实现org.joda.time.ReadableInstant。它继承自通用接口,但显然这无关紧要。界面是:

我的记录:

但我得到了错误:

我的类型提示错了吗?还有什么问题吗?

(对于那些在Clojure 邮件列表上的人,我已经问过这个问题的较长版本,我认为这里的较短问题可能更容易回答)

0 投票
2 回答
166 浏览

clojure - 字段访问器作为clojure中的函数?

有没有办法将字段访问器转换为函数?当我尝试这样做时,我真的很惊讶

但不得不这样做

这似乎是不必要的。有没有办法为您创建此功能?

0 投票
1 回答
274 浏览

clojure - Clojure:调用多个 arity 函数

printfjava.io.PrintWriter(特别是System.out)上调用多参数函数时遇到问题。

0 投票
1 回答
185 浏览

java - 如何调用从 Java 获取二维字符串数组的 Clojure 函数?

基本上问题说明了一切。

当我在 gen-class 中声明函数签名时,我为二维字符串数组放置什么类型?

我给 XXXX 放什么?

更新:按照@Mark Topolnik 的建议,我正在尝试

在我的声明中,我得到了一个

当我尝试编译它时出现运行时异常。

更新 2:通过从上面的行中删除 ^ 来修复。(这是在 gen 类中声明函数签名的上下文中,因此 ^ 可能是不必要的。)

0 投票
0 回答
42 浏览

android - 在android中使用clojure

我编写了一个 clojure 程序来执行一些复杂的数据操作。

我想把这个功能带到我的手机上。

作为必须在 java 中重新实现整个代码的替代方法,我认为使用 clojure 生成要从 Java 调用的库会很好。这也将阻止我在开发过程中保持相同功能的两个版本同步。

总体思路:

应用程序的 java 部分将 JSON-String 传递给 Clojure;clojure-part 执行数据操作,然后将 JSON-String 返回给 java。

问:这可能吗?如果是这样:如何?

编辑:请注意,问题不是关于在 clojure 中构建整个 android 应用程序,而是关于将 clojure 函数公开给现有的java/android 应用程序。

0 投票
1 回答
169 浏览

clojure - 如何使用 java interop 在 Clojure 中获取屏幕大小?

如何在 Clojure 中获取屏幕大小?

我在使用 Java 互操作时遇到问题。一个示范

对我最有用。

我试过了

导入适当的库和类似的东西后,但无济于事。

0 投票
1 回答
849 浏览

java - 如何在 ClojureScript 中导入 Java 类?

我在 SublimeText 中使用 ClojureScript 浏览器 REPL,其中包含某些 Java 方法:

但是,我想使用.toBinaryString, 但java.lang.Integer不包括在内,我不确定如何导入它。(import %)无论我使用什么格式都不起作用%;它总是抛出:

无法读取未定义的属性“调用”

我的问题是两个部分;如何查看 REPL 中包含哪些 Java 库,以及如何使用未包含的其他库?

0 投票
2 回答
524 浏览

clojure - Clojure:如何从 URLClassLoader 加载的 Java 类调用静态方法 main

我想使用 URLClassLoader 加载 Java 类并调用 main 方法。下面的代码在最后一行给出了一个错误,我不知道如何修复它。

请注意,该类在默认类加载器中不可用,因此

会失败。

谢谢你,帕维尔