整型字面量下划线
JDK 7支持数字下划线,改善了二进制,十进制,十六进制和八进制字面量的可读性,如:
int mb_directory_info = 204_555_1212;
System.out.printf ("%d%n", mb_directory_info); // Output: 2045551212
long debt = 11_000_000_000_000L;
System.out.printf ("%d%n", debt); // Output: 11000000000000
byte max_pos_value = 0x0___07F;
System.out.printf ("%d%n", max_pos_value); // Output: 127
System.out.printf ("%d%n", mb_directory_info); // Output: 2045551212
long debt = 11_000_000_000_000L;
System.out.printf ("%d%n", debt); // Output: 11000000000000
byte max_pos_value = 0x0___07F;
System.out.printf ("%d%n", max_pos_value); // Output: 127
你可以在连续数字之间插入一到多个下划线,但不能在数字的最前面指定下划线(如_25这样是不允许的),因为这样将被解释为一个标识符,同样,也不能用下划线作为后缀(如0x3f_这样也是不允许的)。
虽然Foster提到Integer和Long的decode()方法将支持这个特性,但目前的版本还不支持,同样,Integer.parseInt()和Long.parseLong()也不支持这个特性。
小结
二进制字面量,switch对字符串的支持和整型字面量下划线支持仅仅是JDK 7新语言特性的一小部分,可以说它们是小而强大,但与闭包和模块化比起来,很多人可能会觉得它们微不足道。下一篇文章将会介绍起源于Java SE 6的半透明和任意形状的窗口的改进。