zoukankan      html  css  js  c++  java
  • java8 流

    实现:赛选苹果

    基类

    public class Apple {
    	private String color;
    	private int weight;
    	
    	
    	public String getColor() {
    		return color;
    	}
    	public void setColor(String color) {
    		this.color = color;
    	}
    	public int getWeight() {
    		return weight;
    	}
    	public void setWeight(int weight) {
    		this.weight = weight;
    	}
    	
    	public static boolean isGreenApple(Apple apple) {
    		return "green".equals(apple.getColor());
    	}
    	public static boolean isHeavyApple(Apple apple) {
    		return apple.getWeight() > 150;
    	}
    }
    

      方法类:

        原始做法   
         public static List<Apple> filterGreenApples(List<Apple> inventory){ List<Apple> result = new ArrayList<>(); for (Apple apple: inventory){ if ("green".equals(apple.getColor())) { result.add(apple); } } return result; } public static List<Apple> filterHeavyApples(List<Apple> inventory){ List<Apple> result = new ArrayList<>(); for (Apple apple: inventory){ if (apple.getWeight() > 150) { result.add(apple); } } return result; } java8 做法 //---------------------------------------------------------------------- static List<Apple> filterApples(List<Apple> inventory, Predicate<Apple> p) { List<Apple> result = new ArrayList<>(); for (Apple apple: inventory){ if (p.test(apple)) { result.add(apple); } } return result; } public static void main(String[] args) { List<Apple> inventory = new ArrayList<>(); List<Apple> result = filterApples(inventory, (Apple a)-> "green".equals(a.getColor())); }

     知识点:

     

    如上图,接口类,可以写default 开头的方法,此方法可以直接写实现,而且,子类不用集成此方法

  • 相关阅读:
    ABP拦截器之UnitOfWorkRegistrar(一)
    ABP中的拦截器之EntityHistoryInterceptor
    ABP中的拦截器之AuditingInterceptor
    ABP中的拦截器之ValidationInterceptor(下)
    ABP中的拦截器之ValidationInterceptor(上)
    ABP中模块初始化过程(二)
    ABP中的模块初始化过程(一)
    工欲善其事必先利其器
    ie9/8的iframe中jQuery报错
    git仓库删除所有提交历史记录
  • 原文地址:https://www.cnblogs.com/sg9527/p/7840322.html
Copyright © 2011-2022 走看看