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

时间:2010-10-25 09:52:15

标签: java

是否有任何特殊原因可以解释为什么不包含这种文字而允许使用十六进制和八进制格式?

6 个答案:

答案 0 :(得分:26)

Java 7包含它。检查new features

示例:

int binary = 0b1001_1001;

答案 1 :(得分:25)

在Java 7中引入了二进制文字。请参阅"Improved Integer Literals"

int i = 0b1001001;

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

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

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

答案 2 :(得分:2)

实际上,确实如此。在java7中。

http://code.joejag.com/2009/new-language-features-in-java-7/

答案 3 :(得分:1)

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

我猜他们认为二进制文字会使语言更复杂,并且不会带来明显的好处......

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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