Java使用下划线提高可读性

示例

从Java 7开始,可以使用一个或多个下划线(_)分隔原始数字文字中的数字组,以提高其可读性。

例如,这两个声明是等效的:

Java SE 7
int i1 = 123456;
int i2 = 123_456;
System.out.println(i1 == i2); // 真

可以将其应用于所有原始数字文字,如下所示:

Java SE 7
byte color = 1_2_3;
short yearsAnnoDomini= 2_016;
int socialSecurtyNumber = 999_99_9999;
long creditCardNumber = 1234_5678_9012_3456L;
float piFourDecimals =  3.14_15F;
double piTenDecimals =  3.14_15_92_65_35;

这对于二进制,八进制和十六进制基数也可以使用前缀:

Java SE 7
short binary= 0b0_1_0_1;
int octal = 07_7_7_7_7_7_7_7_0;
long hexBytes = 0xFF_EC_DE_5E;

关于下划线,有一些规则禁止将它们放在以下位置:

  • 在数字的开头或结尾(例如,_123或者123_是不是有效)

  • 毗邻浮点字面小数点(例如,1._23或者1_.23是不是有效)

  • 前一个F或L后缀(例如1.23_F或9999999_L是有效)

  • 在一串数字有望位置(例如0_xFFFF是不是有效)