{"id":1585,"date":"2020-03-10T16:01:14","date_gmt":"2020-03-10T07:01:14","guid":{"rendered":"https:\/\/java-code.jp\/?p=1585"},"modified":"2020-03-30T10:48:25","modified_gmt":"2020-03-30T01:48:25","slug":"optional%e3%82%af%e3%83%a9%e3%82%b9","status":"publish","type":"post","link":"https:\/\/java-code.jp\/1585","title":{"rendered":"Optional\u30af\u30e9\u30b9"},"content":{"rendered":"<p>Optional\u30af\u30e9\u30b9\uff08java.util\u30d1\u30c3\u30b1\u30fc\u30b8\uff09\u306f\u3001null\u30c1\u30a7\u30c3\u30af\u3092\u7c21\u5358\u5316\u3057\u3001NullPointerException\u306e\u767a\u751f\u3092\u672a\u7136\u306b\u9632\u3050\u305f\u3081\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002<\/p>\n<p>\u305f\u3068\u3048\u3070\u4ee5\u4e0b\u306f\u3001\u30e1\u30f3\u30d0\u30fc\u60c5\u5831\u3092Map\u3067\u7ba1\u7406\u3059\u308bUtilMemberList\u30af\u30e9\u30b9\u3068\u3001\u3053\u308c\u3092\u5229\u7528\u3059\u308b\u305f\u3081\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002\u307e\u305a\u306f\u3001Optional\u30af\u30e9\u30b9\u3092\u5229\u7528\u305b\u305a\u306b\u8a18\u8ff0\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p class=\"list\">UtilMemberList.java<\/p>\n<div class=\"pre\">\n<pre class=\"brush:java;\">\r\npackage com.example.mynavi.util;\r\n\r\nimport java.util.Map;\r\n\r\npublic class UtilMemberList {\r\n  \/\/ \u30e1\u30f3\u30d0\u30fc\u60c5\u5831\u3092\u300cid: \u540d\u524d\u300d\u306e\u5f62\u5f0f\u3067\u7ba1\u7406\r\n  public Map&lt;String, String> list;\r\n\r\n  public UtilMemberList(Map&lt;String, String> list) {\r\n    this.list = list;\r\n  }\r\n\r\n  \/\/ id\u5024\u3092\u30ad\u30fc\u306b\u30e1\u30f3\u30d0\u30fc\u306e\u540d\u524d\u3092\u53d6\u5f97\r\n  public String getNameById(String id) {\r\n    return this.list.get(id);\r\n  }\r\n}\r\n<\/pre>\n<p><!-- \/ .pre --><\/div>\n<p class=\"list\">UtilOptBasic.java<\/p>\n<div class=\"pre\">\n<pre class=\"brush:java;\">\r\npackage com.example.mynavi.util;\r\n\r\nimport java.util.Map;\r\nimport java.util.Optional;\r\n\r\npublic class UtilOptBasic {\r\n    UtilMemberList ml = new UtilMemberList(Map.of(\r\n      \"N-001-0A\", \"\u4f50\u85e4\u654f\u592b\",\r\n      \"F-023-0B\", \"\u7530\u4e2d\u4fee\",\r\n      \"A-104-0C\", \"\u9234\u6728\u76f4\u7537\"\r\n    ));\r\n\r\n    String name = ml.getNameById(\"Z-9999-0X\");\r\n    System.out.println(name.trim());\r\n  }\r\n}\r\n<\/pre>\n<p><!-- \/ .pre --><\/div>\n<p>Map#get\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30ad\u30fc\u304c\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306bnull\u3092\u8fd4\u3057\u307e\u3059\u3002\u305d\u306e\u5834\u5408\u306b\u3001trim\u30e1\u30bd\u30c3\u30c9\u3092\u305d\u306e\u307e\u307e\u547c\u3073\u51fa\u3057\u3066\u3057\u307e\u3046\u3068\u3001NullPointerException\u4f8b\u5916\u306e\u539f\u56e0\u3068\u306a\u308b\u308f\u3051\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u3001Optional\u30af\u30e9\u30b9\u4ee5\u524d\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306anull\u30c1\u30a7\u30c3\u30af\u3092\u65bd\u3059\u306e\u304c\u4e00\u822c\u7684\u3067\u3057\u305f\u3002<\/p>\n<div class=\"pre\">\n<pre class=\"brush:java;\">\r\nif(name == null) {\r\n  System.out.println(\"\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\");\r\n} else {\r\n  System.out.println(name.trim());\r\n}\r\n<\/pre>\n<p><!-- \/ .pre --><\/div>\n<p>\u3057\u304b\u3057\u3001\u547c\u3073\u51fa\u3057\u5074\u3067\u306f\u623b\u308a\u5024\u306bnull\u306e\u53ef\u80fd\u6027\u304c\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u8003\u616e\u3057\u306a\u304c\u3089\u30b3\u30fc\u30c9\u3092\u8a18\u8ff0\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u305f\u3081\u3001\u6f0f\u308c\u306e\u539f\u56e0\u3068\u306a\u308a\u307e\u3059\u3002\u305d\u3053\u3067Optional\u30af\u30e9\u30b9\u3092\u5229\u7528\u3057\u3066\u3001getNameById\u30e1\u30bd\u30c3\u30c9\u3092\u66f8\u304d\u63db\u3048\u307e\u3059\u3002<\/p>\n<div class=\"pre\">\n<pre class=\"brush:java;\">\r\nimport java.util.Optional;\r\n...\u4e2d\u7565...\r\npublic Optional&lt;String> getNameById(String id) {\r\n  return Optional.ofNullable(this.list.get(id));\r\n}\r\n<\/pre>\n<p><!-- \/ .pre --><\/div>\n<p>Optional.ofNullable\u306f\u3001\u4e0e\u3048\u3089\u308c\u305f\u5024\u3092\u3082\u3068\u306bOptional&lt;String>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\u3057\u307e\u3059\u3002Optional&lt;String>\u306f\u3001null\u3067\u3042\u308b\u304b\u3082\u3057\u308c\u306a\u3044String\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u3053\u308c\u3092\u8aad\u307f\u53d6\u308b\u306e\u304c\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<div class=\"pre\">\n<pre class=\"brush:java;\">\r\nimport java.util.Optional;\r\n...\u4e2d\u7565...\r\nOptional&lt;String> name = ml.getNameById(\"Z-9999-0X\");\r\nSystem.out.println(name.orElse(\"\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\").trim());\r\n<\/pre>\n<p><!-- \/ .pre --><\/div>\n<p>Optional&lt;String>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304b\u3089\u5024\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f\u3001orElse\u30e1\u30bd\u30c3\u30c9\u3092\u5229\u7528\u3057\u307e\u3059\u3002\u5f15\u6570\u306f\u5024\u304cnull\u306e\u5834\u5408\u306b\u63a1\u7528\u3059\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u5148\u307b\u3069\u306eif\u306b\u3088\u308b\u5206\u5c90\u306b\u6bd4\u3079\u308b\u3068\u3001\u30b3\u30fc\u30c9\u304c\u30b7\u30f3\u30d7\u30eb\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3057\u3001\u306a\u306b\u3088\u308aOptional\u30af\u30e9\u30b9\u306e\u307e\u307e\u3067\u306f\u5024\u3092\u5229\u7528\u3067\u304d\u306a\u3044\u306e\u3067\u3001null\u30c1\u30a7\u30c3\u30af\u304c\u5f37\u5236\u3055\u308c\u307e\u3059\u3002null\u5024\u306e\u53ef\u80fd\u6027\u304c\u3042\u308b\u623b\u308a\u5024\u3067\u306f\u3001\u3053\u306e\u3088\u3046\u306bOptional\u30af\u30e9\u30b9\u3067\u30e9\u30c3\u30d7\u3059\u308b\u3053\u3068\u3067null\u5b89\u5168\u306a\u30b3\u30fc\u30c9\u3092\u8a18\u8ff0\u3067\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Optional\u30af\u30e9\u30b9\uff08java.util\u30d1\u30c3\u30b1\u30fc\u30b8\uff09\u306f\u3001null\u30c1\u30a7\u30c3\u30af\u3092\u7c21\u5358\u5316\u3057\u3001NullPointerException\u306e\u767a\u751f\u3092\u672a\u7136\u306b\u9632\u3050\u305f\u3081\u306e\u30af\u30e9\u30b9\u3067\u3059\u3002 \u305f\u3068\u3048\u3070\u4ee5\u4e0b\u306f\u3001\u30e1\u30f3\u30d0\u30fc\u60c5\u5831\u3092Map\u3067\u7ba1\u7406\u3059\u308bUtilM [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-1585","post","type-post","status-publish","format-standard","hentry","category-utility"],"_links":{"self":[{"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/posts\/1585"}],"collection":[{"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/comments?post=1585"}],"version-history":[{"count":6,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/posts\/1585\/revisions"}],"predecessor-version":[{"id":1640,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/posts\/1585\/revisions\/1640"}],"wp:attachment":[{"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/media?parent=1585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/categories?post=1585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java-code.jp\/wp-json\/wp\/v2\/tags?post=1585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}