java - una - reglas para nombrar variables en programación
_(guión bajo) es una palabra reservada (2)
Acabo de reemplazar s
en la siguiente expresión lambda por _
:
s -> Integer.parseInt(s)
El compilador de Eclipse dice:
''_'' no debe usarse como un identificador, ya que es una palabra clave reservada desde el nivel de origen 1.8 on.
No he encontrado ninguna explicación en el JLS §3.9 Estructura léxica / Palabras clave.
El lugar para buscar es JLS §15.27.1. Parámetros Lambda
Es un error en tiempo de compilación si un parámetro lambda tiene el nombre _ (es decir, un único carácter de subrayado).
Se desaconseja el uso del nombre de la variable _ en cualquier contexto. Las versiones futuras del lenguaje de programación Java pueden reservar este nombre como palabra clave y / o darle una semántica especial.
Por lo tanto, el mensaje de Eclipse es engañoso, especialmente porque se usa el mismo mensaje para ambos casos, cuando se genera un error para un parámetro lambda o cuando se genera una advertencia para cualquier otro _
.
Cambios en el lenguaje Java para Java SE 9 https://docs.oracle.com/javase/9/language/toc.htm#JSLAN-GUID-16A5183A-DC0D-4A96-B9D8-AAC9671222DD
Desde Java 9, el carácter _ no se puede usar más como un identificador, no solo dentro del contexto lambda
El carácter de guión bajo no es un nombre legal.
Si utiliza el carácter de subrayado ("_") un identificador, su código fuente ya no se puede compilar.