lambda表达式与匿名内部类的简单转换

Posted city85

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda表达式与匿名内部类的简单转换相关的知识,希望对你有一定的参考价值。

今天因为项目需要,将lambda表达式转换成JDK1.6能用的代码,简单的记录一下;

public interface ActionListener {
    void actionPerformed(String s);
}

public class Main {
    
    public Main(ActionListener a) {
        super();
        a.actionPerformed("MD");
    }

    public static void main(String[] args) {
        //参数列表、箭头符号->和函数体组成。函数体既可以是一个表达式,也可以是一个语句块:
        /*new Main((String s) ->{
            System.out.println(s);
        });*/
        new Main(new ActionListener() {
            
            @Override
            public void actionPerformed(String s) {
                // TODO Auto-generated method stub
                System.out.println(s);
            }
        });
}}

PS:一直以为接口和抽象类不能直接实例化,这里注意到了ActionListener是一个接口,作为匿名内部类能直接实例化;

以上是关于lambda表达式与匿名内部类的简单转换的主要内容,如果未能解决你的问题,请参考以下文章

lambda与匿名内部类

Java的Lambda表达式

Java Lambda表达式

Lambda 表达式

匿名内部类-Lambda表达式

Lambda表达式和匿名内部类的异同