这会产生一个反射警告
(let [id-1 3
id-2 1
id-3 2
ids [id-1 id-2 id-3]]
#(compare (.indexOf ids %1) (.indexOf ids %2)))
;; => 无法解析对 clojure.lang(IPersistentVector 的 indexOf 方法调用的方法。
这并不会
(let [ids [3 2 1]]
#(compare (.indexOf ids %1) (.indexOf ids %2)))
唯一的区别在于向量的元素是否是文本的,这在调用 indexOf 时不应该产生影响。