
Java8新特性Lambda表示式子
写了一些代码理解下,确实很简洁啦,什么时候使用它,就看性能分析了
package com.lamada;
public interface MathOp<T> {
T op(T a, T b);
}
package com.lamada;
import java.util.Arrays;
import java.util.List;
public class LamadaTest {
public static <T> T calculate(T a, T b, MathOp<T> mathop){
return mathop.op(a, b);
}
@Override
public String toString(){
return "I am Lamabda Test";
}
Runnable runnable = () -> { System.out.println(this); };
public static void main(String[] args) {
new LamadaTest().runnable.run();
List<Double> doublelists = Arrays.asList(10.0, 20.0,30.0);
doublelists.stream().map(x -> x + x*0.05).forEach(x -> System.out.println(x));
MathOp<Integer> add = (Integer a, Integer b) -> a + b;
MathOp<Double> adddouble = (Double a, Double b) -> a + b;
MathOp<Integer> sub = (Integer a, Integer b) -> a - b;
MathOp<Integer> multi = (Integer a, Integer b) -> a * b;
MathOp<Integer> div = (Integer a, Integer b) -> a / b;
System.out.println(calculate(1, 2, add));
System.out.println(calculate(1.1, 1.2, adddouble));
System.out.println(calculate(1, 2, sub));
System.out.println(calculate(1, 2, multi));
System.out.println(calculate(2, 1, div));
}
}




近期评论