栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

10、JDK1.8新特性——Lambda表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

10、JDK1.8新特性——Lambda表达式

10、JDK1.8新特性——Lambda表达式

lambda表达式(也称闭包)是整个java8发行版中最受期待的在java语言层面上的改变,lambda允许把函数作为一个方法的参数(函数作为参数传递方法中),或者把代码看成数据,lanbda表达式用于简化Java中接口的匿名内部类。称为函数式接口的概念,函数式接口就是一个具有一个方法的普通接口,像这样的接口,可以被隐式转换为lambda表达式
函数式接口就是一个具有一个方法的普通接口

语句
(参数1,参数2~~~)->{~}

public class LambdaDome {

	public static void main(String[] args) {

		//IEat ieat=new IEatImpl();
		//ieat.eat();
		
		//IEat ieat1=new IEat() {
			//public void eat() {
		//		System.out.println("eat bnana");
		//	}
	    //	};
		//ieat1.eat();
		
		
		//lambda表达式(代码简介)
		//IEat ieat3=()->{System.out.println("eat apple bnana");};
		//IEat ieat3=()->System.out.println("eat apple bnana");
		//ieat3.eat();
		
		
		//带参数时使用
		//IEat ieat4=(String thing)->System.out.println("eat "+thing);
		//ieat4.eat("apple");
		
		//带参数时使用,参数类型可以省略,代码中有多行代码
		IEat ieat4=(thing,name)->{
			System.out.println("eat "+thing);
			System.out.println("name"+name);
		};
		ieat4.eat("apple","nhao");
		
	}

}

interface IEat{
	public void eat(String thing,String name);
}
 class IEatImpl implements IEat{
	public void eat(String thing,String name) {
		System.out.println("eat"+thing+"name"+name);
	}
}

eat apple
name nhao

排序引用

Student[] students= {
				new Student("张三",2),
				new Student("李四",4),
				new Student("张提",9)};
		// Arrays.sort(students,new Comparator() {

		//	@Override
	    //public int compare(Student o1, Student o2) {
		//		return o1.getAge()-o2.getAge();
		//	}	 
		//});
		 
		 
		// Comparator c=(o1,o2)->o1.getAge()-o2.getAge();
		 Arrays.sort(students,(o1,o2)->o1.getAge()-o2.getAge());
		 System.out.println(Arrays.toString(students));
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332502.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号