Wie Muster-Match-Klasse [X] für verschiedene X?

8

Ich möchte den Typ der Parameter einer Methode überprüfen, aber ich weiß nicht den besten Weg, dies zu tun. Siehe meinen Code:

%Vor%

Bitte notieren Sie sich den Kommentar im Code. Ich weiß nicht, wie man die Typen scala überprüft.

Ich habe es versucht:

%Vor%

Aber es kann nicht kompiliert werden.

Ich kann Java-Way verwenden, um zu überprüfen:

%Vor%

Es scheint, wir sollten es in Scala verwenden, oder?

UPDATE:

Wenn ich match verwenden möchte, sollte ich so schreiben:

%Vor%

Ist es die beste Antwort?

    
Freewind 04.03.2011, 08:44
quelle

2 Antworten

10

Ich könnte es mit t als Typ arbeiten lassen, indem ich die Fälle als Konstanten definiere. Es würde nicht mit den Klassenliteralen als case-Ausdruck kompilieren. Probieren Sie:

%Vor%     
richj 04.03.2011, 08:57
quelle
7

Sie können ClassManifest.fromClass verwenden, um den Zwang von Primitiven zu AnyVals richtig zu behandeln, und alle anderen Probleme, denen Sie beim Versuch, durch Reflektion unkonventionell zu werden, mit Boxed vs Unboxed Typen begegnen.

So:

%Vor%     
Kevin Wright 04.03.2011 11:08
quelle

Tags und Links