JDK 1.7 新特性之在數字字面量使用下劃線
阿新 • • 發佈:2018-12-11
在數字字面量使用下劃線
在JAVA SE 7和以後的版本中,下劃線字元(_)能夠出現在數字字面量的數字之間的任何位置。這個功能可以用來對一個數字字面量根據位數分組,從而提高你程式碼的可讀性。比如,如果你的程式碼包含一些數字有很多的位數,你能夠用下劃線字元把位數分為三組,類似於你用一個像逗號或者一個空格作為分隔符。
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
下劃線只能出現在數字之間,下面的情形不能出現下劃線:
- 數字的開頭和結尾
- 在浮點數中與小數點相鄰
F
或者L
字尾之前- 在預期數字串的位置
float pi1 = 3_.1415F; // 無效; 不能和小數點相鄰 float pi2 = 3._1415F; // 無效; 不能和小數點相鄰 long socialSecurityNumber1 = 999_99_9999_L; // 無效; 不能放在L字尾之前 int x1 = _52; // 無效;這是個識別符號,不是數字的字面量 int x2 = 5_2; // OK int x3 = 52_; // 無效; 不能放在數字的結尾 int x4 = 5_______2; // OK int x5 = 0_x52; // 無效; 不能放在 0x 中間 int x6 = 0x_52; // 無效; 不能放在數字的開頭 int x7 = 0x5_2; // OK int x8 = 0x52_; // 無效; 不能放在數字的結尾 int x9 = 0_52; // OK int x10 = 05_2; // OK int x11 = 052_; // Invalid; 不能放在數字的結尾