如何在Clojure中执行类型转换?

unj*_*nj2 15 clojure

如何在Clojure中将Symbol转换为String,Integer转换为Float以及其他类似类型的转换?

Art*_*ldt 28

您可以通过向编译器添加元数据来告诉编译器您想要的类型.
这可以使一些操作更快并有助于消除反射.该^符号是语法糖添加这为最终会发生什么的元数据.

(defn my-function  [^String my-string] ....
Run Code Online (Sandbox Code Playgroud)

符号到字符串:

(str 'my-symbol)
Run Code Online (Sandbox Code Playgroud)

对于数字,请使用类型名称作为函数名称:

(int 4922354)
(double 42)
(byte 254)
(char 20)
etc...
Run Code Online (Sandbox Code Playgroud)

有关更多信息:http://clojure.org/java_interop#toc35