在 Java 接口上调用 .class 时将 .class 传递给 Clojure 函数
Pass .class to Clojure Function when .class is called on a Java interface
我需要将 class 的 Java 接口传递给 Clojure 中的函数调用。
调用 (class ) 需要一个对象实例,因为我想要静态 class 名称。
基本上这样我就可以 java 互操作和使用:keysetHandle.getPrimitive(Aead.class);
通过 Aead,但 Aead 只是一个接口,需要它,但不知道如何在 Clojure 中获得等效的 Aead.class?
(.getPrimitive 键集句柄 Aead.class)
你试过了吗(.getPrimitive keyset-handle Aead)
?
您应该能够通过使用界面的名称来传递界面的 class。一个例子 Java class:
public class Foo {
public <P> String bar(Class<P> klass) {
return klass.getCanonicalName();
}
}
然后在 REPL 中,使用 java.util.List
接口,例如:
user=> (import Foo)
Foo
user=> (.bar (Foo.) java.util.List)
"java.util.List"
我需要将 class 的 Java 接口传递给 Clojure 中的函数调用。
调用 (class ) 需要一个对象实例,因为我想要静态 class 名称。
基本上这样我就可以 java 互操作和使用:keysetHandle.getPrimitive(Aead.class);
通过 Aead,但 Aead 只是一个接口,需要它,但不知道如何在 Clojure 中获得等效的 Aead.class?
(.getPrimitive 键集句柄 Aead.class)
你试过了吗(.getPrimitive keyset-handle Aead)
?
您应该能够通过使用界面的名称来传递界面的 class。一个例子 Java class:
public class Foo {
public <P> String bar(Class<P> klass) {
return klass.getCanonicalName();
}
}
然后在 REPL 中,使用 java.util.List
接口,例如:
user=> (import Foo)
Foo
user=> (.bar (Foo.) java.util.List)
"java.util.List"