本文共 1521 字,大约阅读时间需要 5 分钟。
只包含一个抽象方法的接口,称为函数式接口
@Testpublic void test1(){ happyTime(100, new Consumer() { @Override public void accept(Double money) { System.out.println("看电影消费了" + money + "元"); } }); System.out.println("****************"); happyTime(200,money -> System.out.println("吃火锅消费了" + money + "元"));}public void happyTime(double money, Consumer con){ con.accept(money);}
// 断定型接口 Predicate boolean test(T t)
@Testpublic void test2(){ Listlist = Arrays.asList("北京","南京","天津","东京","西京","普京"); List filterStrs = filterString(list, new Predicate () { @Override public boolean test(String s) { return s.contains("京"); } }); System.out.println(filterStrs); System.out.println("************"); List filterStrs1 = filterString(list, s -> s.contains("京")); System.out.println(filterStrs1);}
//根据给定的规则,过滤集合中的字符串。此规则由Predicate的方法决定
public ListfilterString(List list, Predicate pre) { ArrayList fileString = new ArrayList<>(); for(String s : list){ if(pre.test(s)){ fileString.add(s); } } return fileString;}
转载地址:http://btuki.baihongyu.com/