目前,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检查)。