Warum ist ein einzelner Unterstrich ein unzulässiger Name für einen Lambda-Parameter?
Ich habe versucht, einen Lambda-Parameter zu benennen_
, z.B. (eine gekürzte Version):
Consumer<Object> c = _ -> {};
as Ich wollte anzeigen, dass ein Parameter ignoriert wurde, habe jedoch den folgenden Compilerfehler erhalten:
ie Verwendung von '_' als Bezeichner ist für Lambda-Parameter verbote
Das war eine Überraschung für mich. Interessanterweisezwe unterstrichen ist OK:
Consumer<Object> c = __ -> {}; // no compile error
So ist es nicht das Unterstreichungszeichen im Allgemeinen, sondern ein einzelnes.
Warum ist der einzelne Unterstrich ausdrücklich verboten?