java8的lambda表达式
Posted 哈哈哈天蝎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8的lambda表达式相关的知识,希望对你有一定的参考价值。
lambda是javar1.8新加入的一个新特性,主要是为了提高代码的简洁性,减少代码量。其本质就是一个java 的匿名函数, 主要用于对函数式接口的重写。用法有点类似于javascrip的箭头函数。下面是一些用法的例子。
无返回值无参数
@FunctionalInterface public interface NoneReturnNoneParam { void test(); }
例子
public class Lambda { public static void main(String[] args) { NoneReturnNoneParam lambda = () -> System.out.println("method test is running"); lambda.test(); } }
无返回值单个参数
@FunctionalInterface public interface NoneReturnSingleParam { void test(int a); }
例子
public class lambda2 { public static void main(String[] args) { NoneReturnSingleParam lambda = a -> System.out.println("param a value is " + a); lambda.test(10); } }
无返回值多个参数
public class lambda4 { public static void main(String[] args) { NoneReturnMultipleParam lambda = (a, b) -> System.out.println("a = " + a + ", b = " + b); lambda.test(10, 20); } }
例子
public class lambda4 { public static void main(String[] args) { NoneReturnMultipleParam lambda = (a, b) -> System.out.println("a = " + a + ", b = " + b); lambda.test(10, 20); } }
有返回值无参数
@FunctionalInterface public interface SingleNoneParam { int test(); }
例子
public class lambda3 { public static void main(String[] args) { SingleNoneParam lambda = () -> 10; int value = lambda.test(); System.out.println("return value is " + value); } }
有返回值单个参数
@FunctionalInterface public interface SingleParam { int test(int a); }
例子
public class lambda5 { public static void main(String[] args) { SingleParam lambda = a -> a; int value = lambda.test(10); System.out.println("return value is " + value); } }
有返回值多个参数
@FunctionalInterface public interface MultipleParam { int test(int a, int b); }
例子
public class lambda6 { public static void main(String[] args) { MultipleParam lambda = (a, b) -> a + b; } }
传一个构造函数
例子
以上是关于java8的lambda表达式的主要内容,如果未能解决你的问题,请参考以下文章