为什么Java中没有二进制文字?

是否有任何特殊原因,为什么不包括这种文字,而允许hex和八进制格式?

Java 7包含它。检查新function 。

例:

int binary = 0b1001_1001; 

在Java 7中引入了二进制文字。请参阅“改进的整数文字” :

 int i = 0b1001001; 

从第一天开始不包括它们的原因很可能如下:Java是一种高级语言,并且在涉及不太重要和低级别的语言结构时受到了相当大的限制。 Java开发人员的一般政策是“如果有疑问,请将其保留”。

如果您使用的是Java 6或更高版本,那么您最好的选择就是

 int yourInteger = Integer.parseInt("100100101", 2); 

相关错误自2004年4月开放,优先级较低,被Sun / Oracle视为增强请求。

我猜他们认为二进制文字会使语言更复杂,并没有提供明显的好处……

这里似乎有一种印象,即实现二进制文字很复杂。 事实并非如此。 大约需要五分钟。 当然还有测试用例。

Java 7确实允许二进制文字! 检查一下:int binVal = 0b11010; 在这个链接: http : //docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html