Я прочитал, что в Java7 мы можем теперь написать это смешное утверждение:
public static boolean isZero(int O_O){
return O_O == 0_0;
}
Вопрос: что именно означает 0_0 в этом контексте?
Ответ 1
Подчеркивание символов в числовых литералах разрешено в Java 7 только для целей читаемости. Из javadocs:
В Java SE 7 и более поздних версиях любое количество символов подчеркивания (_) может появляются где-нибудь между цифрами в числовом литерале. Эта особенность позволяет вам, например, разделять группы цифр в числовом литералы, которые могут улучшить читаемость вашего кода.
Ответ 2
В Java 7 вы можете добавить символы подчеркивания для повышения удобочитаемости литералов числа:
int oldMillion = 1000000;
int newMillion = 1_000_000;
Подчеркивания valid в числах, если они не являются первым символом, последним символом или непосредственно по обе стороны от 0x, 0b 1 и т.д. В основном между цифрами.
Например, 4_294_967_296 является более стандартным использованием этого.
Ваш код будет проверять, равен ли значение, равное нулю.
Однако это не десятичный int, а скорее восьмеричный int. 0_12 не равно 12 или 1_2. Вместо этого первая равна десяти десятичной.