Using _ (underscore) as variable name in Java

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)

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate
// using underscore as 
// variable name
class UnderScore_works
{
    public static void main(String args[]) 
    {
        int _ = 10;
        System.out.println(_);
          
    }         
}

chevron_right


Output:

10

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.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to illustrate
// using underscore as 
// variable name in java 9
class UnderScore_dont_works
{
    public static void main(String args[]) 
    {
        int _ = 10;
        System.out.println(_);
          
    }         
}

chevron_right


Important points:

  1. Using underscore in a variable like first_name is still valid. But using _ alone as variable name is no more valid.
  2. 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

This article is contributed by Abhishek Verma. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


5


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.