成都网站建设设计

将想法与焦点和您一起共享

Java8Optional原理及用法解析-创新互联

平时开发的工作中, 自己组内的很多大佬经常使用Optional的用法, 自己问他们, 这个到底有什么好处呢,他们说可以很好的规避好空指针的问题, 我们在平时写java代码的时候, 如果是一个新手, 肯定很多情况下都会出现空指针的报错, 而java8 以后提供的Optional的问题, 就可以很好地规避我们空指针的问题.

创新互联公司是一家专业提供汕城企业网站建设,专注与成都网站制作、网站建设、HTML5、小程序制作等业务。10年已为汕城众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optional类已经成为Java 8类库的一部分。Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

1. 在Optional之前

在Java 8之前,程序员将返回null而不是Optional。这种方法有一些缺点。一种是没有明确的方法来表示null可能是一个特殊值。相比之下,在API中返回Optional是明确的声明,其中可能没有值。如果我们要确保不会出现空指针异常,则需要对每个引用进行显式的空检查,如下所示,我们都同意这是很多样板。

// Life before Optional
  private void getIsoCode( User user){
    if (user != null) {
      Address address = user.getAddress();
      if (address != null) {
        Country country = address.getCountry();
        if (country != null) {
          String isocode = country.getIsocode();
          if (isocode != null) {
            isocode = isocode.toUpperCase();
         }
       }
     }
   }
 }

分享名称:Java8Optional原理及用法解析-创新互联
转载来源:http://chengdu.cdxwcx.cn/article/doidic.html