Есть ли какая-то особая причина, почему этот литерал не включен, тогда как разрешены шестнадцатеричные и восьмеричные форматы?
Почему в Java нет бинарных литералов?
Ответ 1
Java 7 включает it.Check новые функции.
Пример:
int binary = 0b1001_1001;
Ответ 2
Бинарные литералы были введены в Java 7. См. "Улучшенные целые литеры" :
int i = 0b1001001;
Причина того, что они не включают их с первого дня, скорее всего, такова: Java является языком высокого уровня и весьма ограничительна, когда речь идет о языковых конструкциях, которые менее важны и низки. Разработчики Java придерживались общей политики "если есть сомнения, сохраните ее".
Если вы работаете на Java 6 или старше, лучшим вариантом является
int yourInteger = Integer.parseInt("100100101", 2);
Ответ 3
на самом деле, это так. в java7.
http://code.joejag.com/2009/new-language-features-in-java-7/
Ответ 4
связанная ошибка открыта с апреля 2004 года, имеет низкий приоритет и рассматривается как запрос на улучшение Sun/Oracle.
Я думаю, они думают, что бинарные литералы сделают язык более сложным и не даст очевидных преимуществ...
Ответ 5
Кажется, создается впечатление, что реализация бинарных литералов сложна. Это не так. Это займет около пяти минут. Плюс тесты, конечно.
Ответ 6
Java 7 разрешает бинарные литералы! Проверь это: int binVal = 0b11010; по этой ссылке: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html