紧随时代的步伐--Java8之Lambda表达式的使用
2017-08-05 11:27
501 查看
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
在计算机行业,每天都会有新的技术诞生,每天都会有上百种的技术更新升级。追随时代的步伐,终生学习,才能不被社会的浪潮淘汰。
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
相关文章推荐
- Java中Lambda表达式的使用
- JAVA基础之--Lambda表达式,枚举类,垃圾回收机制,修饰符的使用范围
- 在Java中使用Lambda表达式的技巧
- Java1.8新特性关于lambda表达式与Stream流的使用以及对集合的实用操作
- Java 8 之 lambda 表达式简单使用入门实例代码。
- Java8 Lambda表达式与Stream API (二): Stream API的使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- idea编译出现Error:(5, 22) java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
- Java中Lambda表达式的使用
- Java8 lambda表达式使用总结
- java8 Lambda表达式使用详解
- 在Android中使用Java 8的lambda表达式
- Java 8 之 lambda 表达式简单使用入门实例代码
- java8学习教程之lambda表达式的使用方法
- javaSE_8系列博客——Java语言的特性(三)--类和对象(21)--何时使用Lambda 表达式?
- java 8 comparator 使用lambda 表达式
- Java 8 Lambda表达式在addMouseListener中的使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- Java8 Lambda表达式的使用
- 紧随时代的步伐--Java8特性之接口默认方法