Java 9 has made changes in features of java language and eliminating underscore from legal name is a major change made by Oracle.
- The use of the variable name _ in any context is never encouraged.
- Latest versions of the Java reserve this name as a keyword and/or give it special semantics. If you use the underscore character (“_”) an identifier, your source code can no longer be compiled. You will get compile time error.
Using underscore as variable name in Java 8
Although, it is supported in Java 8, a mandatory warning is issued if you use _ as an identifier , telling you that “use of ‘_’ as an identifier might not be supported in releases after Java SE 8”. (See JDK-8005852 Treatment of ‘_’ as identifier)
Using underscore as variable name in Java 9
In Java 9, underscore as variable name won’t work altogether. Below source code can no longer be compiled.
- Using underscore in a variable like first_name is still valid. But using _ alone as variable name is no more valid.
- Even if you are using earlier versions of Java, using only underscore as variable name is just plain bad style of programming and must be avoided.
Related article : Variables in Java
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.