美文网首页
java 8 新特性随记

java 8 新特性随记

作者: sakura_L | 来源:发表于2017-12-14 11:38 被阅读11次

    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() 判断字符串是否为空;

    相关文章

      网友评论

          本文标题:java 8 新特性随记

          本文链接:https://www.haomeiwen.com/subject/wswhwxtx.html