开发者

Why are there no binary literals in Java?

Is there any particular reason why this kind of literal is not included whereas hex and oct开发者_开发知识库al formats are allowed?


Java 7 includes it.Check the new features.

Example:

int binary = 0b1001_1001;


Binary literals were introduced in Java 7. See "Improved Integer Literals":

int i = 0b1001001;

The reason for not including them from day one is most likely the following: Java is a high-level language and has been quite restrictive when it comes to language constructs that are less important and low level. Java developers have had a general policy of "if in doubt, keep it out".

If you're on Java 6 or older, your best option is to do

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


actually, it is. in java7.

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


The associated bug is open since April 2004, has low priority and is considered as a request for enhancement by Sun/Oracle.

I guess they think binary literals would make the language more complex and doesn't provide obvious benefits...


There seems to be an impression here that implementing binary literals is complex. It isn't. It would take about five minutes. Plus the test cases of course.


Java 7 does allow binary literals ! Check this: int binVal = 0b11010; at this link: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜