zoukankan      html  css  js  c++  java
  • java8 optional操作

    目标:测试option的过滤,链式操作:

    代码:

    package test;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Optional;
    import java.util.function.Consumer;
    import java.util.function.Predicate;
    
    public class optionnaltest {
         
        class user{
            String name;
            String age;
            user(){}
            user(String name,String age){this.name = name;this.age=age;}
            void intoduce() {
                System.out.println("i am "+name+",i am "+age+" this year!");
            }
            String tosString() {
                return new StringBuffer().append("{name:").append(name+",age:").append(age+"}").toString();
            }
        }
    
        public static void main(String[] args) {
            List<user> list = new ArrayList<user>();
            Arrays.asList(10,11,12,14,16,20).forEach(new Consumer<Integer>() {
    
                @Override
                public void accept(Integer t) {
                    optionnaltest op = new optionnaltest();
                    if(t <12)
                        list.add(op.new user());
                    else
                        list.add(op.new user("name"+t,t+""));
                }
            });
            List<user> tm = new ArrayList<user>();
            list.forEach(new Consumer<user>() {
                @Override
                public void accept(user t) {
                    boolean flag = Optional.ofNullable(t).filter(s->s.name!=null).isPresent();
                    tm.add(!flag?t:null);
                }
            });
            list.removeAll(tm);
            list.forEach(new Consumer<user>() {
                @Override
                public void accept(user t) {
                    System.out.println(t.tosString());
                }
            });
        }
        
        
    }
  • 相关阅读:
    Node Express4.x 片段视图 partials
    SVG知识难点
    MongoDB的安装和配置成服务的三种方法和一些难点
    git的使用
    单击获取索引的两种方式
    IOTA初识
    开始写博客啦
    虚拟化技术
    可信计算概论
    负载均衡
  • 原文地址:https://www.cnblogs.com/g177w/p/10795499.html
Copyright © 2011-2022 走看看