zoukankan      html  css  js  c++  java
  • 匿名内部类转换lambdas取代,以极大地提高源代码的可读性

    myCollection.stream().map(new Mapper<String,String>() {
      public String map(String input) {
        return new StringBuilder(input).reverse().toString();
      }
    });
    
    Predicate<String> isEmpty = new Predicate<String> {
        boolean test(String myString) {
            return myString.isEmpty();
        }
    }
    
    myCollection.stream().map(input -> new StringBuilder(input).reverse().toString());
    
    Predicate<String> isEmpty = myString -> myString.isEmpty();

     例子:

    public static List<Integer> getDiffNum(int i) {
            List<Integer> rs = new ArrayList<>();
            Integer[] numsTmp = nums.clone();
            for (int j = 0; j < i; j++) {
                int len = rand.nextInt(numsTmp.length);
                int tN = numsTmp[len];
                rs.add(tN);
                List<Integer> asList = transferArrayToList(numsTmp);
                asList.remove(len);
                Integer[] intes =new Integer[asList.size()];
                numsTmp = asList.toArray(intes);
            }
            rs.sort(new Comparator<Integer>() {
    
                @Override
                public int compare(Integer a, Integer b) {
                    return a.compareTo(b);
                }
                
            });
            return rs;
        }

    转换后:

    public static List<Integer> getDiffNum(int i) {
            List<Integer> rs = new ArrayList<>();
            Integer[] numsTmp = nums.clone();
            for (int j = 0; j < i; j++) {
                int len = rand.nextInt(numsTmp.length);
                int tN = numsTmp[len];
                rs.add(tN);
                List<Integer> asList = transferArrayToList(numsTmp);
                asList.remove(len);
                Integer[] intes =new Integer[asList.size()];
                numsTmp = asList.toArray(intes);
            }
            rs.sort((a,b) -> a.compareTo(b));
            return rs;
        }
  • 相关阅读:
    前端 ---- ajax(2)
    前端 ---- ajax(1)
    前端 ---- 博客项目
    Vue 重复进入相同路由消除警报
    axios和message注册全局变量不一样
    element-ui 的input组件 @keyup.enter事件的添加办法
    前端 ----Express
    MyBatis学习一
    SpringMVC学习一
    JVM学习一
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/13497897.html
Copyright © 2011-2022 走看看