Я хочу, чтобы моя программа действовала по-разному между примитивными типами и их классами-оболочками, например:
(defmulti try-type class)
(defmethod try-type Integer [arg]
(println "Integer"))
(defmethod try-type Integer/TYPE [arg]
(println "int"))
Но это не работает, хотя я пробую Integer и int как
user=> (try-type (.intValue (int 2)))
Integer
nil
user=> (try-type (int 2))
Integer
nil
Итак, можно ли использовать мультиметод для примитивных типов?
====== РЕДАКТИРОВАТЬ ======
Я оборачивал гуаву Google в Clojure. В нем есть примитивная библиотека, такая как Booleans, Dobules, Ints и т. Д. У них есть несколько общих методов, поэтому я хочу попробовать мультиметод.