Discontinuing use of the underscore

The underscore character ( _ ) can no longer be used as a legal identifier name. Earlier attempts to remove the underscore in an identifier name were incomplete. The use of such would generate a combination of errors and warnings. With Java 9, the warnings are now errors. Consider the following sample code:

    public class Java9Tests 
{
public static void main(String[] args)
{
int _ = 319;
if ( _ > 300 )
{
System.out.println("Your value us greater than 300.");
}
else
{
System.out.println("Your value is not greater than 300.");
}
}
}

The preceding code, in Java 8, will result in compiler warnings for int _ = 319; and if ( _ > 300 ) statements. The warning is as of release 9, '_' is a keyword, and may not be used as an identifier. So, in Java 9, you will not be able to use the underscore by itself as a legal identifier.

It is considered bad programming practice to use identifier names that are not self-descriptive. So, the use of the underscore character by itself as an identifier name should not be a problematic change.