使用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);