我已经看到了JDK 7的新功能。
有长数据类型支持Underscore(“_”)吗? 该功能的其他用途是什么??
代表
长l = 123_456_789L;
答案 0 :(得分:0)
不仅仅是解释here
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;
你甚至可以做到
int x = 5_______2;
但为什么呢? oracle希望提高代码的可读性。
答案 1 :(得分:0)
这只是为了便于阅读。正如docs所说:
例如,此功能使您可以分隔数字文字中的数字组,这可以提高代码的可读性。
例如,如果您的代码包含具有多个数字的数字,则可以使用下划线字符分隔三个组中的数字,类似于使用逗号或空格等标点符号作为分隔符的方式。
以下示例显示了在数字文字中使用下划线的其他方法:
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;