java return () -> {system.out.println("");} 在java中,return与System.out.print...

\u5173\u4e8eJAVA\u8fd4\u56de\u503creturn\u548cSystem.out.println\u7684\u533a\u522b

return\u8bed\u53e5\u603b\u662f\u548c\u65b9\u6cd5\u6709\u5bc6\u5207\u5173\u7cfb\uff0creturn\u8bed\u53e5\u603b\u662f\u7528\u5728\u65b9\u6cd5\u4e2d\uff0c\u6709\u4e24\u4e2a\u4f5c\u7528\uff0c\u4e00\u4e2a\u662f\u8fd4\u56de\u65b9\u6cd5\u6307\u5b9a\u7c7b\u578b\u7684\u503c\uff08\u8fd9\u4e2a\u503c\u603b\u662f\u786e\u5b9a\u7684\uff09\uff0c\u4e00\u4e2a\u662f\u7ed3\u675f\u65b9\u6cd5\u7684\u6267\u884c\uff08\u4ec5\u4ec5\u4e00\u4e2areturn\u8bed\u53e5\uff09
System.out.println\u662f\u8f93\u51fa\u5b57\u7b26\u4e32\u3002
\u4f8b\u5982\uff1a
public String func(){ System.out.println("\u8f93\u51fa\u5b57\u7b26\u4e32");//\u53ef\u4ee5\u5728\u65b9\u6cd5\u5185\u8f93\u51fa\u5b57\u7b26\u4e32\u4fe1\u606f return "1";//\u65b9\u6cd5\u6267\u884c\u7ed3\u675f\uff0c\u8fd4\u56de\u5b57\u7b26\u4e321}

\u533a\u522b\uff1a

return\uff1a\u6307\u8fd4\u56de\u503c\u201c\u4e09\u597d\u5b66\u751f\u201d\uff0c\u5176\u4ed6\u65b9\u6cd5\u8c03\u7528\u7684\u65f6\u5019\uff0c\u4f1a\u8fd4\u56de\u8fd9\u4e2a\u3002

System.out.print\uff1a\u8f93\u51fa\u663e\u793a\uff0c\u4ec5\u4ec5\u662f\u663e\u793a\u3002

\u8fd9\u4e2a\u4ee3\u7801\uff1a
public class Student{
public String getInfo(){
return "\u4e09\u597d\u5b66\u751f";
}
public static void main(String []args){
Student stu=new Student();
System.out.println (stu.getInfo());
}
}

\u6267\u884c\u5b8c\u540e\u5c31\u7ed3\u679c\u8ddfSystem.out.println ("\u4e09\u597d\u5b66\u751f"); \u662f\u4e00\u6837\u7684

这是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)



这是java8新增加的语法特性,叫Lambda表达式,了解一下

扩展阅读:java windowbuilder ... java pattern ... java serializable ... java sout ... javascript ... java equals ... java blockingqueue ... java for ... java break ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网