Я попробовал присвоить лямбда-параметр _
, например. (сокращенная версия):
Consumer<Object> c = _ -> {};
поскольку я хотел означать, что параметр игнорируется, но я получил следующую ошибку компилятора:
использование '_' в качестве идентификатора запрещено для лямбда-параметров
Это было для меня неожиданностью. Интересно, что два подчеркивания в порядке:
Consumer<Object> c = __ -> {}; // no compile error
Значит, это не символ подчеркивания вообще, а единственный.
Почему однозначное имя запрещено?