java return () -> system.out.println("");
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java return () -> system.out.println("");相关的知识,希望对你有一定的参考价值。
什么意思?
java 中
return ()-> system.out.println("");;
这样使用是什么意思?
这是lambda表达式, 一种语法(糖) ,可以简化代码,从java8开始支持lambda表达式.
有的编程语言,很多早就有lambda表达式了, java从8才开始支持lambda表达式,算比较晚的了.
我们以实现Runabble接口,来创建一个线程为例
一: 使用传统的匿名内部类来实现,
Thread t1 = new Thread(new Runnable()@Override
public void run()
System.out.println("匿名内部类的方式实现Runnable接口");
);
t1.start();
很多人觉得上面的写法比较啰嗦, 写那么多代码, 核心就是一句System.out.println("....")
二: lambda表达式实现
Thread t2 = new Thread(() -> System.out.println("lambda表达式的实现Runabble接口"););t2.start();
lambda表示配合Java8流, 进行函数式编程, 可以简洁的完成很多比较啰嗦的逻辑 .
比如对一个List<Double>进行求和,求均值,求最大值,求最小值,元素个数. 以前需要写较多的代码.
Java8流和lambda表达式的操作方法如下
// lambda表达式配合java8流List<Double> list = Arrays.asList(5.9, 4.5, 6.2, 1.8, 3.7, 2.9, 2.52);
DoubleSummaryStatistics ds = list.stream().collect(Collectors.summarizingDouble(x -> x));
System.out.println("最小值:" + ds.getMin());
System.out.println("最大值:" + ds.getMax());
System.out.println("平均值:" + ds.getAverage());
// System.out.println("数量:" + ds.getCount());
// System.out.println("总和:" + ds.getSum());
相关的知识, 还是比较多, 建议先学习lambda表达式,然后学习java8流(stream)
参考技术A 这是java8新增加的语法特性,叫Lambda表达式,了解一下以上是关于java return () -> system.out.println("");的主要内容,如果未能解决你的问题,请参考以下文章
java基础1.5版后新特性 自动装箱拆箱 Date SimpleDateFormat Calendar.getInstance()获得一个日历对象 抽象不要生成对象 get set add Syst
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行