java8的lambda表达式
2021-04-10 05:27
标签:lin nal ati lambda 构造 col div system ram lambda是javar1.8新加入的一个新特性,主要是为了提高代码的简洁性,减少代码量。其本质就是一个java 的匿名函数, 主要用于对函数式接口的重写。用法有点类似于javascrip的箭头函数。下面是一些用法的例子。 无返回值无参数 例子 无返回值单个参数 例子 无返回值多个参数 例子 有返回值无参数 例子 有返回值单个参数 例子 有返回值多个参数 例子 传一个构造函数 例子 java8的lambda表达式 标签:lin nal ati lambda 构造 col div system ram 原文地址:https://www.cnblogs.com/li1234567980/p/13369764.html@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;
}
}
上一篇:我的python菜鸟之路18