函数式接口

package SimpleTest;

/**
 * @className: Test10
 * @description: //函数式接口
 * @author: CCQ
 * @date: 2021/9/11
 **/
public class Test10 {
}


//Java提供了一个注解,表明这个接口是个函数式接口
//这个注解是可选的,不写也可以,写了可以规范接口为函数式接口,不写只要接口里面只有一个抽象方法也是函数式接口
@FunctionalInterface
interface k{
    void a();

//    void b();会报错,因为有functionalInterface注解表明是一个函数式接口
}


package SimpleTest;

/**
 * @className: Test11
 * @description: 函数式接口作为方法的参数
 * @author: CCQ
 * @date: 2021/9/11
 **/


public class Test11 {
    public static void main(String[] args) {
        //匿名内部类实现接口
        thradstart(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+"线程0启动啦!");
            }
        });
        //lambda表达式实现接口
        thradstart(()-> System.out.println(Thread.currentThread().getName()+"线程1启动啦!"));

    }

    public static void thradstart(Runnable r){
        new Thread(r).start();
    }
}


package SimpleTest;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * @className: Test12
 * @description: 函数式接口作为方法的返回值
 * @author: CCQ
 * @date: 2021/9/11
 **/
public class Test12 {
    public static void main(String[] args) {
        ArrayList<String> a1 =new ArrayList<>();
        a1.add("abdaaaaaawd");
        a1.add("aaadwdwwdd");
        a1.add("cacfd");
        a1.add("gewwesvw");
        //排序
        Collections.sort(a1);
        //排序后
        System.out.println(a1);

        //按照自定义的长度排序
        Collections.sort(a1,getCom());
        System.out.println(a1);
    }

    static Comparator<String> getCom(){
        //匿名内部类实现接口排序
//        return new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
//            }
//        };
        //lambda表达式实现接口排序
//        return (String s1,String s2)->{
//            return s1.length()-s2.length();
//        };

        //简化lambda表达式
        return (s1,s2)-> s1.length()-s2.length();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值