zoukankan      html  css  js  c++  java
  • 紧随时代的步伐--Java8之Lambda表达式的使用

    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

  • 相关阅读:
    struts.xml
    web.xml
    jdbc.properties
    apache+tomcat的集群--Session复制配置
    mysql 定时触发器
    mysql 查看存储过程
    Quatz 定时任务
    Apache Httpd常用命令
    Mac安装nginx
    dubbo ReferenceConfig源码分析
  • 原文地址:https://www.cnblogs.com/ryelqy/p/10104150.html
Copyright © 2011-2022 走看看