初次看见Java8的Lambda表达式,居然给我的是一种亲切感
‘->’这个符号不管是在我最常用的C#,还是C的指针,或者是在我开发过程中使用的THINKPHP框架中都有看见过,怎么说呢,看见它我觉得心里有一丝激动,就如同老友再相见。不过实际上对于Lambda表达式,我却十分陌生,在我日常的开发中,能用到Lambda的地方着实不多。所以,我对于Lambda表达式可以说是一窍不通,看了几个文档,都是代码小片段,于是我根据自己的理解写出了这样的一段
public static void main(String[] args) {
int a = 1,b = 2;
(a, b) -> System.out.printf(a + b);
}
嗯…然后就报错了,一脸懵逼,赶快改一改
public static void main(String[] args) {
int a = 1,b = 2;
(c, d) -> System.out.printf(a + b);
}
WTF???不是这个亚子吗?
好吧再去看了看,感觉是类似于一个匿名函数的东西
可是不会写…怎么办呢 又不能直接var func = function(){屋里哇啦劈里啪啦}
就把代码照抄上去了!对!照抄上去了!!
public static void main(String[] args) {
x -> 2 * x;
}
原谅我没有往下翻把它示例看完 我总是喜欢顺着线索自己瞎摸
这是个什么代码啊!!!!!!!!!啊!!!!!!!!!!!!!
往下翻了翻我才发现
**
- Lambda
表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口。在上面例子中,我们使用各种类型的Lambda表达式来定义MathOperation接口的方法。然后我们定义了sayMessage的执行。 - Lambda 表达式免去了使用匿名方法的麻烦,并且给予Java简单但是强大的函数化的编程能力。
**
我以后一定仔仔细细看文档!!!!