📜  在Java中使用_(下划线)作为变量名

📅  最后修改于: 2020-03-18 12:32:01             🧑  作者: Mango

Java 9对Java语言的功能进行了更改,而从合法名称中删除下划线是甲骨文Oracle的一项重大更改:

  • 绝不鼓励在任何上下文中使用变量名_,Python却在一些时候鼓励
  • Java的最新版本将该名称保留为关键字,赋予其特殊的语义。如果使用下划线字符(“ _”)作为标识符,则无法再编译源代码,您将在编译时错误。

在Java 8中使用下划线作为变量名

尽管Java 8支持它,但是如果您使用_作为标识符,则会发出强制性警告,告诉您“在Java SE 8之后的发行版中可能不支持使用’_’作为标识符”。(请参见JDK-8005852将’_’用作标识符)

// Java8代码,展示使用_作为变量名
class UnderScore_works
{
    public static void main(String args[])
    {
        int _ = 10;
        System.out.println(_);
    }
}

输出:

10

在Java 9中使用下划线作为变量名

在Java 9中,下划线作为变量名将完全不起作用。下面的源代码无法再编译。

// Java 9中展示使用下划线作为变量名
class UnderScore_dont_works
{
    public static void main(String args[])
    {
        int _ = 10;
        System.out.println(_);
    }
}

重要的技巧:

  1. 在像first_name这样的变量中使用下划线仍然有效,但是单独使用_作为变量名不再有效。
  2. 即使您使用的是Java的早期版本,仅使用下划线作为变量名也只是很糟糕的编程风格,必须避免。