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