IT虾米网

Java的lambda表达式详解

qq123 2022年06月29日 编程语言 159 0

从JDK1.8开始将匿名内部类的实现转为了函数式实现,并引入了lambda表达式。函数式编程的最严格要求:每一个接口里面只允许有一个抽象方法。为了保证所定义的接口一定是函数式编程所使用的接口,那么一般在定义函数式接口前需要加上一个“@FunctionInterface”注解。
函数式编程的基本组成: (参数) -> 程序的语句;
1. 单行语句:(参数) -> 程序的语句;
2. 多行语句:(参数) -> {程序的语句 … return};
3. 简单返回:(参数) -> 表达式 ;
下面我们来分析实例:
1. 单行语句:
(参数) -> 程序的语句;
运行结果: 输出 数据A

@FunctionInterface 
interface IDemo<T>{ 
    public void print(T t); 
} 
public class Test{ 
    public static void main(String[] args) { 
        IDemo<String>  demo = (str) -> System.out.println(str); 
        demo.print("数据A"); 
    } 
}

2. 多行语句:
(参数) -> {程序的语句 … return};
运行结果:输出false;

@FunctionInterface 
interface IDemo<T,r>{ 
    public r print(T t1,T t2); 
} 
public class Test{ 
    public static void main(String[] args) { 
        IDemo<String,Boolean>  demo = (str1,str2) ->{ 
            return str1.equals(str2); 
        }; 
        System.out.println(demo.print("输出","输入")); 
    } 
}

3. 简单返回:
(参数) -> 表达式 ;
运行结果: 输出true

@FunctionInterface 
interface IDemo<T>{ 
    public boolean print(T t1,T t2); 
} 
public class Test{ 
    public static void main(String[] args) { 
        IDemo<Integer>  demo = (str1,str2) -> str1==str2; 
        System.out.println(demo.print(100,100)); 
    } 
}


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Java单例和多例设计模式详解