目前,clojure.core中的"get"、"get-in"及相关函数仅适用于Clojure向量、地图和Java数组,不能用于java.util.List的实例。
(def al (java.util.Arrays/asList (object-array (link: 1 2 3 4))))
(get al 2)
=> nil
这使得处理类似于嵌套Clojure数据结构的Java对象嵌套结构变得不方便。
这也与其他支持任意java.util.List实例的clojure.core函数(例如"nth"和"count")不兼容。
通过稍作修改RT.java,可以使核心函数操作任意的java.util.List实例。这种改变似乎没有明显的缺点(它不在快速路径上,因此不会影响常规ILookup或Map检查)。