码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础001 --- 结构化编程

时间:2019-09-21 23:23:05      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:option   else   场景   16px   结构   修改   属性   支持   提示信息   

本随笔旨在分享一些结构化编程思想,如有不妥,望指正,共同学习共同进步!! 

   1、非空断言

        使用jdk自带的Objects类

        技术图片

        使用开源guava库

        技术图片

   2、非空赋值

         使用场景:构造器、java bean的setter方法中

         使用jdk自带的Objects类

         技术图片

         使用开源guava库

         技术图片

   3、guava的参数校验

         这里说一些guava参数校验功能,guava提供了优雅的参数校验方法

         技术图片

 

         技术图片

   4、Holder类的使用

        在输入校验方法中,我们通常希望返回校验结果true/false以及校验提示信息,但是java方法只支持返回单个参数,并且我们不希望修改输入数据

        因此,我们可以通过使用Holder类完成该功能;

        Holder类非常简单,只有一个泛型处理,以及一个属性value

        技术图片

       下面为使用方法:

        技术图片

   5、Optional类的使用

         Optional类由java1.8引入,主要为了简化非空判断,并且能够快速定位空指针异常

         (1) of

                   用来创建一个非空对象,传入的值不能为空,如果为空,抛空指针异常

                   技术图片

         (2)ofNullable

                   用来创建一个对象,输入可以为空;为空,则创建一个空对象。

         (3)get

                  如果创建的Optional中的值存在,返回该值,否则抛NoSuchElementException异常

                  技术图片

         (4)isPresent

                  如果创建的Optional中的值存在,返回true,否则返回false

         (5)ifPresent

                  如果创建的Optional中的值存在,则dosomething;   Optional.ofNullable(value).ifPresent(dosomething)

                  技术图片

         (6)filter

                  如果创建的Optional对象中的值满足filter中的过滤条件,返回包含该值的Optional对象,否则,返回空的Optional对象

                 技术图片

         (7)map

                  如果创建的Optional中的值存在,则执行map中的funcaiton函数接口

                  技术图片

         (8)flatMap

                  功能和map基本一致,区别是,如果map中的function返回值为Optional,flatMap不会返回双层Optional,但是map方法会返回双层Optional

         (9)orElse

                  如果创建的Optional中的值存在,返回该值,否则返回orElse提供的值

                  技术图片

         (10)orElseGet

                  如果创建的Optional中的值存在,返回该值,否则返回orElseGet提供的function返回的值

                  技术图片

         (11)orElseThrow

                  如果创建的Optional中的值存在,返回该值,否则抛出指定异常

                  技术图片

 

 

 

 

未完待续

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        

Java基础001 --- 结构化编程

标签:option   else   场景   16px   结构   修改   属性   支持   提示信息   

原文地址:https://www.cnblogs.com/sniffs/p/11565098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!