﻿{"id":1405,"date":"2014-01-29T17:00:15","date_gmt":"2014-01-29T08:00:15","guid":{"rendered":"http:\/\/yucchi.jp\/blog\/?p=1405"},"modified":"2014-01-29T17:01:09","modified_gmt":"2014-01-29T08:01:09","slug":"java-8-%e3%81%a7%e3%81%ae%e7%ae%97%e8%a1%93%e3%82%aa%e3%83%bc%e3%83%90%e3%83%bc%e3%83%95%e3%83%ad%e3%83%bc-2","status":"publish","type":"post","link":"http:\/\/yucchi.jp\/blog\/?p=1405","title":{"rendered":"Java 8 \u3067\u306e\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc"},"content":{"rendered":"<p>Java 8 \u3067\u306f\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u691c\u51fa\u53ef\u80fd\u3068\u306a\u308b\u3088\u3063\u3066\u304a\u306f\u306a\u3057\u3067\u3059\u3002<\/p>\n<p>Math \u30af\u30e9\u30b9\u306b\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u691c\u51fa\u3067\u304d\u308b\u30e1\u30bd\u30c3\u30c9\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u3061\u3087\u3063\u3068\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u306e\u305b\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre title=\"Exact.java\">\r\n\r\npackage jp.yucchi.exact;\r\n\r\n\/**\r\n *\r\n * @author Yucchi\r\n *\/\r\npublic class Exact {\r\n\r\n    public static void main(String[] args) {\r\n        System.out.println(Integer.MAX_VALUE + 1);\r\n        System.out.println(Integer.MIN_VALUE - 1);\r\n        try {\r\n            System.out.println(Math.addExact(Integer.MAX_VALUE, 1));\r\n        } catch (ArithmeticException ae) {\r\n            \/\/ G'catch! :p\r\n            ae.printStackTrace();\r\n        }\r\n        try {\r\n            System.out.println(Math.subtractExact(Integer.MIN_VALUE, 1));\r\n        } catch (ArithmeticException ae) {\r\n            \/\/ G'catch! :p\r\n            ae.printStackTrace();\r\n        }  \r\n    }\r\n}\r\n<\/pre>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u6b21\u306e\u901a\u308a\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>-2147483648<br \/>\n2147483647<br \/>\njava.lang.ArithmeticException: integer overflow<br \/>\nat java.lang.Math.addExact(Math.java:790)<br \/>\nat jp.yucchi.exact.Exact.main(Exact.java:14)<br \/>\njava.lang.ArithmeticException: integer overflow<br \/>\nat java.lang.Math.subtractExact(Math.java:829)<br \/>\nat jp.yucchi.exact.Exact.main(Exact.java:20)<\/p>\n<p>\u3053\u306e\u4ed6\u306b\u3082 Java 8 \u3067\u8ffd\u52a0\u3055\u308c\u305f\u4fbf\u5229\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u8208\u5473\u306e\u3042\u308b\u65b9\u306f API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u76ee\u3092\u901a\u3057\u3066\u307f\u308b\u3068\u3044\u3044\u3067\u3059\u3088\uff01<\/p>\n<div class=\"wlWriterEditableSmartContent\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0e7fa9dc-acd2-4783-bed4-7842497fd77a\" style=\"margin: 0px; padding: 0px; float: none; display: inline;\">Hatena \u30bf\u30b0: <a href=\"http:\/\/b.hatena.ne.jp\/t\/Java\" rel=\"tag\">Java<\/a><\/div>\n<div class='wp_social_bookmarking_light'>\n            <div class=\"wsbl_hatena\"><a href='\/\/b.hatena.ne.jp\/add?mode=confirm&url=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D1405&title=Java%208%20%E3%81%A7%E3%81%AE%E7%AE%97%E8%A1%93%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/hatena.gif' alt='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' width='16' height='12' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D1405&t=Java%208%20%E3%81%A7%E3%81%AE%E7%AE%97%E8%A1%93%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_google_plus_one\"><g:plusone size=\"medium\" annotation=\"none\" href=\"http:\/\/yucchi.jp\/blog\/?p=1405\" ><\/g:plusone><\/div>\n            <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"http:\/\/yucchi.jp\/blog\/?p=1405\" data-text=\"Java 8 \u3067\u306e\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\" data-lang=\"ja\">Tweet<\/a><\/div>\n    <\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>Java 8 \u3067\u306f\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u691c\u51fa\u53ef\u80fd\u3068\u306a\u308b\u3088\u3063\u3066\u304a\u306f\u306a\u3057\u3067\u3059\u3002 Math \u30af\u30e9\u30b9\u306b\u7b97\u8853\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u691c\u51fa\u3067\u304d\u308b\u30e1\u30bd\u30c3\u30c9\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \u3061\u3087\u3063\u3068\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u306e\u305b\u3066\u304a\u304d\u307e\u3059\u3002 package jp.yucchi.exact; \/** * * @author Yucchi *\/ public class Exact { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE + 1); System.out.println(Integer.MIN_VALUE &#8211; 1); t\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[17],"class_list":["post-1405","post","type-post","status-publish","format-standard","hentry","category-java","tag-java"],"_links":{"self":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1405"}],"version-history":[{"count":1,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1405\/revisions"}],"predecessor-version":[{"id":1406,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1405\/revisions\/1406"}],"wp:attachment":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1405"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}