• 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 开头的方法,此方法可以直接写实现,而且,子类不用集成此方法

  • 相关阅读:
    JS判断对象是否为空
    让我感动的一首歌
    获取字符串字节长度跟截取字符串字节长度
    centos7安装mysql
    python 基础
    python + 爬虫 + fiddler + 夜神模拟器 爬取app(1)
    selenium
    adb自动化农药金币
    python 引流
    Python 并行分布式框架 Celery
  • 原文地址:https://www.cnblogs.com/sg9527/p/7840322.html
Copyright © 2020-2023  润新知