14

我在 Java7 中读到过,我们现在可以写这个有趣的语句:

public static boolean isZero(int O_O){
  return O_O == 0_0;
}

0_0问题是:在这种情况下究竟是什么意思?

4

3 回答 3

42

Java 7 中允许使用数字文字中的下划线字符,只是为了便于阅读。从javadocs

在 Java SE 7 及更高版本中,任意数量的下划线字符 (_) 可以出现在数字文字中数字之间的任何位置。例如,此功能使您能够分隔数字文字中的数字组,这可以提高代码的可读性

于 2013-07-29T16:43:54.303 回答
15

在 Java 7 中,您可以添加下划线来增加数字文字的可读性:

int oldMillion = 1000000;
int newMillion = 1_000_000;

它对二进制数据特别有用:

byte oldMax = 0b01111111;
byte newMax = 0b0111_1111;
于 2013-07-29T16:44:46.417 回答
8

下划线在数字中有效,只要它们不是第一个字符、最后一个字符或直接位于0x0b1等的任一侧等。基本上在数字之间。

例如,4_294_967_296这是一个更标准的用法。

您的代码将检查传递的 int 是否等于零。

但是,这不是十进制整数,而是八进制整数。0_12不等于121_2。相反,前者等于十进制的 10。

1 Java 1.7 中添加了二进制文字。

于 2013-07-29T16:44:06.223 回答