我想将clojure Java对象(分配给let *)转换为另一种Java类类型。这可能吗,如果可以,我该怎么做?

更新:
自从我发布了这个问题以来,我已经意识到我不需要强制转换Clojure,因为它没有接口(interface)的概念,更像是Ruby Duck类型。我只需要在知道某个对象肯定是某种类型的情况下进行强制转换,在这种情况下,我会收到ClassCastException

最佳答案

cast中有一个clojure.core函数可以做到这一点:

user> (doc cast)
-------------------------
clojure.core/cast
([c x])
  Throws a ClassCastException if x is not a c, else returns x.

顺便说一句,您不应该直接使用let* -只是let后面的实现细节(应该在用户代码中使用)。

07-24 09:38
查看更多