紧随时代的步伐--Java8之Lambda表达式的使用

xiaoxiao2021-02-28  110

1、前言

在计算机行业,每天都会有新的技术诞生,每天都会有上百种的技术更新升级。追随时代的步伐,终生学习,才能不被社会的浪潮淘汰。

2、关于Lambda表达式

Lambda表达式是Java8新特性之一,它使得Java编程变得更加抽象,更加理性。同时也意味着代码的可读性下降。在日常的开发中,不建议使用Lambda表达式编程。

3、抽象接口

@FunctionalInterface public interface MyNumber<T> { //double getValue(); //boolean test(int n); //int fun(int n); T funstr(T t); }在接口处加入注解,表明该接口为函数式接口,当中定义为泛型T,方法返回泛型T。参数可以也是泛型T,也可以是与返回值不同数据类型的泛型F

4、实现类

public class Test6 { public static void main(String[] args) { MyNumber<String> myNumber=(str)->{ String result=""; for(int i=str.length()-1;i>=0;i--){ result+=str.charAt(i); } return result; }; System.out.println(myNumber.funstr("ABC")); MyNumber<Integer> myNumber2=(n)->{ int i=0; do{ i+=1; n+=i; }while(i<10); return n; }; System.out.println(myNumber2.funstr(10)); } }在新建的MyNumber接口中可以是String类型,也可以是Integer类型。右边括号str、n为入参。通过->符号和一个大括号,编写接口的实现代码。

从上述可以看出,业务逻辑代码与接口的实现代码夹杂在一起,不利于模块化,也是不建议实际开发中使用的原因之一。

Reference:

[1] Herbert Schildt, 战晓苏 江凌(译), Java 8 编程参考官方教程(第9版), 清华大学出版社, 385-416

转载请注明原文地址: https://www.6miu.com/read-18789.html

最新回复(0)