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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage