如何在数组类型上调度多方法

Art*_*ldt 8 clojure

我正在研究一种多方法,它需要为序列中的一堆不同的东西更新哈希值.看起来相当直截了当,直到我试图输入'X数组的类型'.

(defmulti update-hash #(class %2))

(type (byte 1))
=> java.lang.Byte
(defmethod update-hash java.lang.Byte [md byte]
  (. md update byte))

(type (into-array  [ (byte 1)]))
=> [Ljava.lang.Byte;
(defmethod update-hash < WHAT GOES HERE > [md byte]
Run Code Online (Sandbox Code Playgroud)

Bri*_*per 9

这些都应该工作:

(defmethod update-hash (Class/forName "[Ljava.lang.Byte;") [md byte] ...)

(defmethod update-hash (class (make-array Byte 0)) [md byte] ... )
Run Code Online (Sandbox Code Playgroud)