LambdaDemo实现代码示例

之前看别人写的都写了好多理论,但是代码示例看的不是很明白。

结果自己写的时候有问题,可能是自己的基础不够扎实,后来终于搞明白实现了就做下笔记

写了3个demo,

          demo1.jdk8之前的实现方式

          demo2.lambda单行实现例子

         demo3.lambda多行实现例子

/**
 * LambdaDemo代码示例
* <p>Title: LambdaDemo.java</p>  
* <p>Description: </p>   
* @author 荚小白  
* @date 2019年3月31日  
* @version 1.0  
* since jdk1.8
 */
public class LambdaDemo {
	public static void main(String[] args) {
		//原来的实现方式
		IDemoService demo1 = new IDemoService() {
			@Override
			public void print(String str1) {
				System.out.println(str1);
			}
		};
		demo1.print("old old old");
		
		//Lambda实现方式 (将new省去,方法定义省去,参数类型省去,只留下参数与方法的具体实现)
		IDemoService demo2 = (str2) -> System.out.println(str2);
		demo2.print("new one line");
		
		//具体实现有多行是需要用{}扩起来
		IDemoService demo3 = (str3) -> {
			str3 = str3 + " more line";
			System.out.println(str3);
		};
		demo3.print("new");
	}
}

/**
 * 接口必须只有一个方法
* <p>Title: LambdaDemo.java</p>  
* <p>Description: </p>   
* @author 荚小白  
* @date 2019年3月31日  
* @version 1.0  
* since jdk1.8
 */
@FunctionalInterface
interface IDemoService{
	void print(String str);
}

猜你喜欢

转载自blog.csdn.net/m0_37771398/article/details/88927400