Lambda

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;
 }

 

posted @ 2022-05-08 23:07  写代码的小哥哥  阅读(21)  评论(0)    收藏  举报