JDK8新特性----玩转
Optional工具类
1. 基本概念
Java 8 中引入了一个有趣的特性是
Optional类,该工具类的引入主要是为了解决空指针异常(NullPointException)。本质上,这是一个包含有可选值的包装类,意味着类本身亦可以有值也可以为Null。
程序猿开日常开发中,为了避免NullPointerException异常,会写很多if else的判断。如果if else太多会让代码显的很乱,那如何减少if else的使用呢?
减少if else的方式之一,利用JDK8提供的Optional。
代码示例:
示例中getStartTime()获取String类型的时间字符串并返回。执行逻辑:
调动selectStartTime()查询DB返回LocalDateTime值;
响应值dateTime如果为null,就给一个默认值;
响应值dateTime
对接物联网设备,设备传递命令,然后根据命令操作不同的行为,最后返回。
现在问题是if else 太多了,代码太长,项目不好维护和扩展,代码如下:
public static String execute(String command, String jsonStr){
if ("openDoor".equals(command)) {
// 具体业务代码会比较多,这里只是做一个简单的代码框架例子。
return "开门";
} else if ("clo