Lambda表达式——Java程序设计基础

Lambda表达式主要目的是在使用单接口(只含有一个方法的接口)匿名类时让代码更加简洁。

Lambda表达式就是一个匿名方法(函数

通常的方法:

   int f(int a,int b ) {

        return  a+b;

   }

 Lambda表达式

    (int a,int b ) -> {

         return  a+b;

    }

Lambda表达式 

扫描二维码关注公众号,回复: 13293884 查看本文章

    (a, b ) -> {

         return  a+b;

    } 

Lambda表达式只写参数列表(可以省略参数的类型)和方法体 (参数列表和方法体之间的符号是 ->)


假如Com是一个单接口(不必关心接口里方法的名称) 

 Lambda表达式,简化了匿名类的用法.如果更改了接口里方法的名字,Lambada表达式不受影响 

Com  com = (double  x) ->  {         
                              return x*x*x;           
                     };

Lambda表达式示例:

package lambda;

interface Person{
	public abstract double show(double x);
}

class Animals{
	public void traverse(Person p) {
		double m = p.show(5);
		System.out.println("Lambda只有在接口中才能使用!");
	}

}

public class Lambda {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Person p = new Person() {
			public double show(double x) {
				return x*x;
			}
		};
		System.out.println(p.show(2));
		
		p = (double x)->{		//	Lambda 只有在接口中才能实现
			return x*x*x;
		};
		System.out.println(p.show(8));
		
		
		Animals a = new Animals();
		a.traverse((double x)->{	//	省略声明对象和方法名
			return x*x*x;
		});
	}
}

猜你喜欢

转载自blog.csdn.net/Mr_Morgans/article/details/121311283