Ich möchte, dass sich mein Programm zwischen primitiven Typen und ihren Wrapper-Klassen anders verhält, zum Beispiel:
%Vor%Aber es funktioniert nicht, obwohl ich Integer und int beide versuche
%Vor%Also, ist es möglich, Multimethode auf primitive Typen zu versenden?
====== EDIT ======
Ich habe eine Google Guava in clojure eingepackt. Es gibt eine primitive Bibliothek darin, wie Booleans, Dobules, Ints usw. Sie haben einige Methoden gemeinsam, also möchte ich multimethod versuchen.
Nein, das ist derzeit nicht möglich. Ein arg zu einer Funktion (wie der Multimethod-Dispatch-Funktion) ist entweder ein Objekt (also werden Grundelemente eingerahmt) oder ein Grundelement lang / doppelt (somit werden Objekte entpackt). Ihr Szenario erfordert eine Funktion, die beides übernehmen und diese Unterscheidung innerhalb der Funktion beibehalten kann.
Das heißt, es gibt möglicherweise Lösungen für das Problem, das Sie lösen möchten.
Tags und Links clojure primitive-types multimethod