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.