Warum kann ich kein generisches Array erstellen?

8

Das funktioniert nicht:

%Vor%

Aber das tut:

%Vor%

Ich bin mir sicher, dass das eine ziemlich einfache Sache ist und ich weiß, dass sich Arrays in Scala etwas ungewöhnlich verhalten können.

Könnte mir jemand erklären, wie man solch ein Array erstellt und warum es überhaupt nicht funktioniert?

    
Plankalkül 21.05.2011, 23:31
quelle

1 Antwort

17

Dies liegt an der JVM-Typ-Löschung. Manifeste wurden eingeführt, um dies zu handhaben, sie verursachen, dass Typinformationen an den Typ T angehängt werden. Dies wird kompilieren:

%Vor%

Es gibt fast doppelte Fragen dazu. Lass mich sehen, ob ich graben kann. Weitere Informationen finden Sie Ссылка . Ich zitiere (ersetzen Sie evenElems mit elem in Ihrem Fall)

  

Was hier benötigt wird, ist, dass Sie dem Compiler helfen, indem Sie einen Laufzeithinweis angeben, was der tatsächliche Typparameter von evenElems ist

Insbesondere können Sie auch ClassManifest verwenden.

%Vor%

Ähnliche Fragen:

huynhjl 21.05.2011, 23:42
quelle

Tags und Links