这会产生一个反射警告
(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 的调用。