1.使用
public void test1(){
Runnable t1 = new Runnable(){
@Override
public void run() {
System.out.println("跑一下");
}
};
t1.run();
Runnable t2 = ()->System.out.println("跑两下");
t2.run();
Consumer<String> c1 = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
c1.accept("消费一下");
Consumer<String> c2 = (String s)-> System.out.println(s);
c2.accept("消费两下");
Consumer<String> c3 = (s)-> System.out.println(s);
c2.accept("消费三下");
Consumer<String> c4 = s-> System.out.println(s);
c2.accept("消费四下");
Comparator<Integer> com1 = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
};
System.out.println("***********比较一下*********");
System.out.println(com1.compare(1, 2));
Comparator<Integer> com2 = (o1,o2)->o1.compareTo(o2);
System.out.println(com2.compare(1, 2));
}
@Test
public void test2(){
happyTime(400,money-> System.out.println("消费"+money+"元"));
}
public void happyTime(double money,Consumer<Double> consumer){
consumer.accept(money);
}
函数式接口
@Test
public void test2(){
happyTime(400,money-> System.out.println("消费"+money+"元"));
}
public void happyTime(double money,Consumer<Double> consumer){
consumer.accept(money);
}
@Test
public void test3(){
List<String> strings = Arrays.asList("北京", "天津", "南京", "东京");
List<String> filter = filterString(strings, new Predicate<String>() {
@Override
public boolean test(String s) {
if (s.contains("京"))
return true;
return false;
}
});
System.out.println(filter);
List<String> filter2 = filterString(strings, s->s.contains("京"));
System.out.println(filter2);
}
public List<String> filterString(List<String> list, Predicate<String> pre){
List<String> fileList = new ArrayList<String>();
for(String s:list){
if(pre.test(s)){
fileList.add(s);
}
}
return fileList;
}