per*_*kss 1 java clojure clojure-java-interop
我需要将 Java 接口的 .class 传递给 Clojure 中的函数调用。
调用 (class ) 需要对象的实例,因为我想要静态类名。
基本上所以我可以java互操作和使用: keysetHandle.getPrimitive(Aead.class);
传递 Aead 但 Aead 只是一个接口想要它像这样但无法解决如何在 Clojure 中获得等效的 Aead.class?
(.getPrimitive 键集句柄 Aead.class)
你试过(.getPrimitive keyset-handle Aead)吗?
您应该能够仅通过使用其名称来传递接口的类。一个示例 Java 类:
public class Foo {
public <P> String bar(Class<P> klass) {
return klass.getCanonicalName();
}
}
Run Code Online (Sandbox Code Playgroud)
然后在 REPL 中,使用java.util.List接口例如:
user=> (import Foo)
Foo
user=> (.bar (Foo.) java.util.List)
"java.util.List"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |