JDK8 新特性:判空遍历写法

Optional.ofNullable(变量).orElse(默认值);

例1:求字符串 s 的长度( 为空的时候返回0 )

jdk8前写法:

String s = getKey();
if (s == null) {
  return 0; 
} else {
  return s.length();
}

jdk8写法:

String s = getKey();
return Optional.ofNullable(s).orElse("").length();

例2:循环遍历集合

jdk8前写法:

List<String> list = getList();
if (list != null) {
  for(String s: list){
      System.out.println(s);
  }
}

jdk8写法:

List<String> list = getList();
Optional.ofNullable(list).orElse(new ArrayList<>()).forEach(o -> {
      System.out.println(o);
});
posted @ 2019-10-28 14:54  cqrunnerxjzh  阅读(1969)  评论(0编辑  收藏  举报