Java类型提示
在Clojure中调用Java方法时,常常遇到Java类型提示这种元数据,保存在元键 :tag中。因使用频繁,所以有自己的读取器宏:^symbol
通过上图可知,定义了方法string-length,方法类其实是调用Java字符串的length方法。定义了两次string-length方法,不同之处在于第二次通过元数据,显式的指明了参数的Java类型。对于Clojure来说,并不需要经常这里显式的指明,因为类型推导已经很智能,只是在某些时候,处于时间的考虑,你可以显示的指明类型
Java原始类型和数组类型
Java有8个基本类型以及所对应的包装类型对象,它们之间通过拆/装箱的手段实现互相转化
java数组是其他数据类型的定长容器,对应不同的类型有不同的数组类型
原始类型没有可读的类型供其引用,因此Clojure给这些类型分别起了别名:
使用^byte形式表示基本类型
使用^bytes形式表示数组