Scala Type Syntax

Ich habe festgestellt, dass ich für eine Funktionsdeklaration die folgende Syntax verwenden kann, wenn ich eine generische Funktion erstellen möchte, die eine Liste beliebigen Typs akzeptieren und einen Booleschen Wert zurückgeben kann:

def someFunction[A](l:List[A]):Boolean

Allerdings kann ich mit dieser Syntax auch eine äquivalente Funktionsdeklaration erreichen:

def someFunction(l:List[_]):Boolean

Die letztere Syntax macht für mich Sinn; Der Unterstrich gibt einen Platzhalter für eine Liste eines beliebigen Typs an. Ersteres ist jedoch verwirrend; Was ist der semantische Unterschied zwischen den beiden Syntaxarten, wenn es überhaupt eine gibt? Hinweis: Mir ist aufgefallen, dass ich im ersten Syntaxbeispiel [B] oder [c] oder sogar [%] anstelle von "[A]" verwenden könnte.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage