import java.io.Serializable; public class Apple implements Serializable { /** * */ private static final long serialVersionUID = 858011345421237690L; private String colour; private Integer weight; public Apple(Builder builder) { this.colour = builder.colour; this.weight = builder.weight; } public String getColour() { return colour; } public Integer getWeight() { return weight; } public static class Builder{ private String colour; private Integer weight; public Builder() {} public Builder setColour(String colour) { this.colour = colour; return this; } public Builder setWeight(Integer weight) { this.weight = weight; return this; } public Apple builder() { return new Apple(this); } } @Override public String toString() { return "Apple [colour=" + colour + ", weight=" + weight + "]"; } }
华丽的分割线
import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class Farmer { public static void main(String[] args) { List<Apple> apples = Arrays.asList( new Apple.Builder().setColour("red").setWeight(150).builder(), new Apple.Builder().setColour("red").setWeight(140).builder(), new Apple.Builder().setColour("red").setWeight(160).builder(), new Apple.Builder().setColour("yellow").setWeight(170).builder() ); List<Apple> result = new ArrayList<>(); Farmer farmer = new Farmer(); apples.forEach(apple -> { if(farmer.test(apple))result.add(apple); }); result.forEach(System.out :: println); result.sort((Apple o1,Apple o2) -> o1.getWeight().compareTo(o2.getWeight())); System.out.println(); result.forEach(System.out :: println);
//创建线程 Thread thread = new Thread(()->{ System.out.println(123); }); thread.start(); }
//筛选 public boolean test(Apple apple) { return "red".equals(apple.getColour())&&apple.getWeight()>=150; } }
输出: