lambda的简化写法

36 阅读1分钟

使用Array.setAll()方法对price数组内的所有元素打八折(* 0.8)

double[] price = {1,3,4,5,6,7};

1、匿名内部类写法

 // 1.匿名内部类写法
Arrays.setAll(price, new IntToDoubleFunction() {
    @Override
    public double applyAsDouble(int value) {
        return price[value] * 0.8;
    }
});

2、lambda表达式标准写法:省去接口名、方法名、参数类型

// 2.lambda表达式标准格式:去掉类名和方法名、参数类型
Arrays.setAll(price, (value) -> {
        return price[value] * 0.8;
    }
);

3、只有一行语句:可以省掉花括号{}、return和语句、语句末尾的分号;

// 3.只有一行语句:去掉{}、return和;
Arrays.setAll(price, (value) -> price[value] * 0.8);

4、参数只有一个:可以省掉参数括号

// 4.参数只有一个: 去掉参数括号
Arrays.setAll(price, value -> price[value] * 0.8);

首次发布

hezhongying.blog.csdn.net/article/det…