java 8 新特性随记

1、遍历list
java 7
for(Object object : list)
or 其他
java 8
list.foreach(object -> {})
or
使用 stream API 下面这种方式是遍历过滤。
finalCouponUserList.stream().filter((CouponUser cu) -> {

              return true or false  // 此处可以使用谓语判定 ;
            }).collect(Collectors.toList());

2、optional
Optional.ofNullable() ; // 可以直接传入一个空值,看源码可以看到调用的是empty();
optional.of 只能传入非空值 否着空指针;
ispreasent() 与!=null 类似 但是不会抛出空指针;
在对字符串进行空的判断的时候发现一个有意思的情况:
System.err.printf("---------%s-----", mIsEmpty(""));
System.err.printf("---------%s-----", mIsEmpty("null"));
System.err.printf("---------%s-----", mIsEmpty(null));
System.err.printf("---------%s-----", mIsEmpty("123456"));
public static Boolean mIsEmpty(String s) {
Optional<String> optional = Optional.ofNullable(s); //optional.isPresent() 与 ! =null 差不多
return !optional.isPresent();

}

打印出来的
---------false--------------false--------------true--------------false-----;也就是说只有为null 的时候才符合 所以 不能直接用ispresent() 判断字符串是否为空;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 原链接:http://www.cnblogs.com/langtianya/p/3757993.html JDK各...
    把爱放下会走更远阅读 4,781评论 0 10
  • Java 8的新特性可以帮助你: 1.使用Java 8可以减少冗长的代码,让代码更易于理解 2.通过方法引用和St...
    Phoenix小彬阅读 4,474评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,442评论 18 399
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 5,182评论 0 10

友情链接更多精彩内容