📜  Java9 Underscore(1)

📅  最后修改于: 2023-12-03 15:16:03.140000             🧑  作者: Mango

Java9 Underscore

Java9引入了下划线作为标识符的一个重要变化。本文将向您介绍Java9下划线的目的和用途,以及如何使用它。

目的和用途

Java9的下划线是Java中的保留字,用作标识符时具有特定的含义。开发人员可以在以下情况下使用Java9下划线:

  1. 用作未使用的参数的占位符
  2. 解决未具体化的泛型类型
  3. 分隔数字,使之更易读
占位符

在过去的Java版本中,如果未使用一个方法的参数,则可以使用具有任意名称的参数。Java9引入了下划线作为未使用的参数的唯一占位符。这样,开发人员可以明确表达他们在使用过程中想要忽略这个参数。以下是一个示例:

public void doSomething(String unusedParam, String unusedParam2) {
    doSomethingElse(_);
}

在这个例子中,我们明确地告诉编译器忽略第一个参数。请注意下划线周围的空格是可选的。

泛型类型

Java9下划线还可以用于解决未具体化的泛型类型。例如,如果您需要在代码中使用一个未具体化的List,则可以使用Java9下划线解决它。以下是一个示例:

List<String> stringList = new ArrayList<>();
List<?> wildcardList = stringList;
List<Number> numberList = new ArrayList<>();
wildcardList = numberList;

在这个例子中,我们可以使用Java9下划线解决未具体化的泛型类型,使得代码更加简洁。

数字分隔符

Java9的下划线还允许开发人员在数字中使用下划线分隔符,以使得数字更为易读。以下是一个示例:

long creditCardNumber = 1234_5678_9012_3456L;
int socialSecurityNumber = 999_99_9999;
double pi = 3.14_15_92_65_36;

在这个例子中,我们可以使用Java9下划线来分隔数字,使其更加易读。请注意,Java9允许下划线放置在数字的任意位置,它们只是用于增加可读性,并没有实际的数值含义。

如何使用Java9下划线

要使用Java9下划线,您只需要将其用作标识符即可。以下是一个示例:

public void doSomething(String unusedParam, String unusedParam2) {
    doSomethingElse(_);
}

要将其编译到Java9上,您需要使用Java9编译器,并将目标版本设置为Java9或更高版本。您可以在命令行上使用以下命令:

javac -source 9 -target 9 MyClass.java

或者,在Maven项目中,您可以将maven-compiler-plugin配置为以下版本:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <release>9</release>
    </configuration>
</plugin>
总结

Java9的下划线是非常有用的。它们可以作为未使用的参数的占位符,解决未具体化的泛型类型,以及分隔数字,使之更易读。如果您在Java9上编写代码,请考虑使用Java9下划线,使您的代码更加简洁可读。