美文网首页
Java8新特性学习笔记(持续更新……)

Java8新特性学习笔记(持续更新……)

作者: gigglesoso | 来源:发表于2020-06-08 16:12 被阅读0次

    以下都是在实际开发中遇到的情形:

    • 场景1:需要遍历一个list,判断对象中的某个元素的属性值等于某值时,给另一属性设置值。
        private List<GxscStScDicSave> init(List<GxscStScDicSave> saves){
            List<GxscStScDicSave> temp = saves;
            //这里判断假如某个元素中的编码值等于CYZW_13,则设置另外属性值为1  
            temp.stream().forEach(x->{if (StringUtils.equals("CYZW_13", x.getDicCode())) {x.setIsCheck("1");}});
            return temp;
        }
    
    • 场景2:使用Lambda表达式,定义一个线程:
        public static void main(String[] args) {
            Runnable r = ()->{System.out.println(1);};
            r.run();
        }
    

    定义一个比较器:

        // 其实都是对匿名内部类的简化
        public static void main(String[] args) {
            Comparable<Integer> comparable2 = (x) -> Integer.compare(x, 100);
            comparable2.compareTo(2);
        }
    
    • 场景3:使用stream过滤一个list,获取符合条件的,
    // 数据库查询某列表
    List<GxscStScNode> nodes = gxscStScNodeSaveServiceImpl.selectByAjbhAndAjlb(ajbh, ajlb);
    // 这里是获取了实体中某一属性值以_JXJG结尾的实体
    List<GxscStScNode> collect = nodes.stream().filter(x->x.getNodeCode().endsWith("_JXJG")).collect(Collectors.toList());
    

    相关文章

      网友评论

          本文标题:Java8新特性学习笔记(持续更新……)

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