{"id":1439,"date":"2022-11-04T22:45:00","date_gmt":"2022-11-04T14:45:00","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1439"},"modified":"2022-11-27T12:39:44","modified_gmt":"2022-11-27T04:39:44","slug":"optional%e7%b1%bb%e7%9a%84%e4%bb%8b%e7%bb%8d%e3%80%81optional%e7%b1%bb%e7%9a%84%e4%bd%bf%e7%94%a8%e4%b8%be%e4%be%8b","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1439","title":{"rendered":"Optional\u7c7b\u7684\u4ecb\u7ecd\u3001Optional\u7c7b\u7684\u4f7f\u7528\u4e3e\u4f8b"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P685;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nimport java.util.Optional;\r\n\r\n\/**\r\n * Optional\u7c7b\uff1a\u4e3a\u4e86\u5728\u7a0b\u5e8f\u4e2d\u907f\u514d\u51fa\u73b0\u7a7a\u6307\u9488\u5f02\u5e38\u800c\u521b\u5efa\u7684\u3002\r\n *\r\n * \u5e38\u7528\u7684\u65b9\u6cd5\uff1aofNullable(T t)\r\n *            orElse(T t)\r\n *\r\n * @author RichieZhang\r\n * @create 2022-11-04 \u4e0b\u5348 9:02\r\n *\/\r\npublic class OptionalTest {\r\n\r\n    \/*\r\n    \uf0d8 Optional.of(T t) : \u521b\u5efa\u4e00\u4e2a Optional \u5b9e\u4f8b\uff0ct\u5fc5\u987b\u975e\u7a7a\uff1b\r\n    \uf0d8 Optional.empty() : \u521b\u5efa\u4e00\u4e2a\u7a7a\u7684 Optional \u5b9e\u4f8b\r\n    \uf0d8 Optional.ofNullable(T t)\uff1at\u53ef\u4ee5\u4e3anull\r\n     *\/\r\n\r\n    @Test\r\n    public void test1(){\r\n        Girl girl = new Girl();\r\n        girl = null;\r\n        \/\/of(T t):\u4fdd\u8bc1t\u662f\u975e\u7a7a\u7684\r\n        Optional&lt;Girl> optionalGirl = Optional.of(girl);\r\n\r\n    }\r\n\r\n    @Test\r\n    public void test2(){\r\n        Girl girl = new Girl();\r\n\/\/        girl = null;\r\n        \/\/ofNullable(T t)\uff1at\u53ef\u4ee5\u4e3anull\r\n        Optional&lt;Girl> optionalGirl = Optional.ofNullable(girl);\r\n        System.out.println(optionalGirl);\r\n        \/\/orElse(T t1):\u5982\u679c\u5f53\u524d\u7684Optional\u5185\u90e8\u5c01\u88c5\u7684t\u662f\u975e\u7a7a\u7684\uff0c\u5219\u8fd4\u56de\u5185\u90e8\u7684t.\r\n        \/\/\u5982\u679c\u5185\u90e8\u7684t\u662f\u7a7a\u7684\uff0c\u5219\u8fd4\u56deorElse()\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570t1\r\n        Girl girl1 = optionalGirl.orElse(new Girl(\"\u8d75\u4e3d\u9896\"));\r\n        System.out.println(girl1);\r\n\r\n    }\r\n\r\n    public String getGirlName(Boy boy){\r\n        return boy.getGirl().getName();\r\n    }\r\n\r\n    @Test\r\n    public void test3(){\r\n        Boy boy = new Boy();\r\n        boy = null;\r\n        String girlName = getGirlName(boy);\r\n        System.out.println(girlName);\r\n    }\r\n\r\n    \/\/\u4f18\u5316\u4ee5\u540e\u7684getGirlName():\r\n    public String getGirlName1(Boy boy){\r\n        if(boy != null){\r\n            Girl girl = boy.getGirl();\r\n            if (girl != null){\r\n                return girl.getName();\r\n            }\r\n        }\r\n\r\n        return null;\r\n    }\r\n\r\n    @Test\r\n    public void test4(){\r\n        Boy boy = new Boy();\r\n        boy = null;\r\n        String girlName = getGirlName1(boy);\r\n        System.out.println(girlName);\r\n    }\r\n\r\n    \/\/\u4f7f\u7528Optional\u7c7b\u7684getGirlName():\r\n    public String getGirlName2(Boy boy){\r\n\r\n        Optional&lt;Boy> boyOptional = Optional.ofNullable(boy);\r\n        \/\/\u6b64\u65f6\u7684boy1\u4e00\u5b9a\u975e\u7a7a\r\n        Boy boy1 = boyOptional.orElse(new Boy(new Girl(\"\u8fea\u4e3d\u70ed\u5df4\")));\r\n\r\n        Girl girl = boy1.getGirl();\r\n        \/\/girl1\u4e00\u5b9a\u975e\u7a7a\r\n        Optional&lt;Girl> girlOptional = Optional.ofNullable(girl);\r\n        Girl girl1 = girlOptional.orElse(new Girl(\"\u53e4\u529b\u5a1c\u624e\"));\r\n\r\n        return girl1.getName();\r\n    }\r\n\r\n    @Test\r\n    public void test5(){\r\n        Boy boy = null;\r\n        boy = new Boy();\r\n        boy = new Boy(new Girl(\"\u82cd\u8001\u5e08\"));\r\n        String girlName = getGirlName2(boy);\r\n        System.out.println(girlName);\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P685;\r\n\r\n\/**\r\n * @author RichieZhang\r\n * @create 2022-11-04 \u4e0b\u5348 9:00\r\n *\/\r\npublic class Boy {\r\n\r\n    private Girl girl;\r\n\r\n    public Boy() {\r\n    }\r\n\r\n    public Boy(Girl girl) {\r\n        this.girl = girl;\r\n    }\r\n\r\n    public Girl getGirl() {\r\n        return girl;\r\n    }\r\n\r\n    public void setGirl(Girl girl) {\r\n        this.girl = girl;\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n        return \"Boy{\" +\r\n                \"girl=\" + girl +\r\n                '}';\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P685;\r\n\r\n\/**\r\n * @author RichieZhang\r\n * @create 2022-11-04 \u4e0b\u5348 9:00\r\n *\/\r\npublic class Girl {\r\n\r\n    private String name;\r\n\r\n    public Girl() {\r\n    }\r\n\r\n    public Girl(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    public String getName() {\r\n        return name;\r\n    }\r\n\r\n    public void setName(String name) {\r\n        this.name = name;\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n        return \"Girl{\" +\r\n                \"name='\" + name + '\\'' +\r\n                '}';\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/qaqaq.top\/wp-content\/uploads\/2022\/11\/\u5fae\u4fe1\u622a\u56fe_20221104213132-1024x560.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" data-original=\"https:\/\/qaqaq.top\/wp-content\/uploads\/2022\/11\/\u5fae\u4fe1\u622a\u56fe_20221104213132-1024x560.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1440\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[46],"class_list":["post-1439","post","type-post","status-publish","format-standard","hentry","category-java-code","tag-java"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1439"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1439"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1439\/revisions"}],"predecessor-version":[{"id":1441,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1439\/revisions\/1441"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}