zoukankan      html  css  js  c++  java
  • JavaSE:Java8新特性

    1.  基本概念

          java.util.Optional类:可以理解为一个简单的容器,其值可能是null或者不是null,代表一个值存在或不存在

          该类的引入能很好地解决空指针异常,不用显式进行空值检测

    2.  常用方法

    static Optional ofNullable (T value) 根据参数指定数值,来得到Optional类型的对象
    Optional map (Function<? super T, ? extends U> mapper) 根据参数制定规则的结果,来得到Optional类型的对象
    T orElse (T other) 若该值存在就返回,否则返回other的数值

    3.  案例题目

          判断字符串是否为空,若不为空:打印字符串的个数; 否则:打印0

     1       class OptionalTest {
     2 
     3         main () {
     4 
     5           // 1. 处理null (不使用Optional类)
     6 
     7           String str1 = null;
     8 
     9           if ( null ! = str1 ) {
    10 
    11             print("字符串的长度是:"  + str1.length() );
    12 
    13           }  else {
    14 
    15             print ("字符串为空,因此长度为0!");
    16 
    17           }
    18 
    19 
    20 
    21           // 2. 处理null (使用Optional类)
    22           //  <1> 将数据str1 装到Optional 对象代表的容器中
    23           Optional<String> optional = Optional.ofNullable(str1);
    24 
    25 
    26           //  <2> 建立映射关系 (使用字符串的长度,与字符串建立映射关系)
    27           /*
    28             Optional<Integer> integer = optional.map(new Function<String,Integer> () {
    29 
    30               @Override
    31               public Integer apply (String s) {
    32 
    33                 return s.length();
    34               }
    35             });
    36           */
    37           // Optional<Integer> integer = optional.map( s -> s.length() );
    38           Optional<Integer> integer = optional.map(String::length);
    39 
    40 
    41           //  <3> 若字符串不为null,打印字符串的数值;   若字符串为null,则打印0
    42           println("integer = " + integer);  // Optional.empty
    43           println(integer.orElse(0));    // 0        
    44 
    45         }
    46 
    47       }
  • 相关阅读:
    win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求
    kubernetes环境下私有仓库搭建
    Build a Restful Service
    大数据的开始:安装hadoop
    调试Ajax调用的利器firebug
    Oracle Process Cloud流程云实践
    Kubernetes环境下如何运行Coherence缓存集群
    Kubernetes的负载均衡问题(Nginx Ingress)
    Kubernetes master节点的高可用配置
    Kubernetes环境下调整WebLogic JVM基本参数
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/14949899.html
Copyright © 2011-2022 走看看