Je viens de remplacer s
dans l'expression lambda suivante par _
:
s -> Integer.parseInt(s)
Le compilateur Eclipse dit:
«_» ne doit pas être utilisé comme identifiant, car il s'agit d'un mot clé réservé à partir du niveau source 1.8.
Je n'ai trouvé aucune explication dans le JLS §3.9 Structure lexicale / Mots-clés.
_
il sera interdit en tant que nom d'identifiant légal et pas seulement en tant que nom de paramètre lambda. Ce problème aenum
etassert
étaient des identifiants légaux…C'est la phase 2 de JEP 302 , qui va ajouter un trait de soulignement comme caractère spécial pour désigner les paramètres inutilisés dans les expressions lambda.
la source
$
à cette fin.Changements de langage Java pour Java SE 9 https://docs.oracle.com/javase/9/language/toc.htm#JSLAN-GUID-16A5183A-DC0D-4A96-B9D8-AAC9671222DD
Depuis Java 9, le caractère _ ne peut plus être utilisé comme identifiant, pas seulement dans le contexte lambda
la source