public static void main(String[] args) {
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 0, 9);
nums.forEach(myAction(it -> System.out.println(100 / it)));
}
public static Consumer<Integer> myAction(Consumer< Integer> consumer) {
return i -> {
try {
consumer.accept(i);
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
};
}
این متد myaction در واقع یک lambda wrapper است که کد رو تمیز تر کنه یعنی جای که داریم از lambda استفاده مکنیم exception handling انجام ندیم و کده خوشگل تری داشته باشیم اما اون i دقبقا چی شد و از کجا اومده؟