我正在开发一种多方法,需要为序列中的一堆不同内容更新哈希值。看起来相当直截了当,直到我试图输入'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]
答案 0 :(得分:9)
其中任何一个都应该有效:
(defmethod update-hash (Class/forName "[Ljava.lang.Byte;") [md byte] ...)
(defmethod update-hash (class (make-array Byte 0)) [md byte] ... )