函数式接口 : 消费型函数式接口
Consumer<T>: 消费型函数式接口
public void accept(T t);
允许lambda表达式使用var变量,如下图所示:如果仅仅是这样写,倒是无法看出写var有什么优势并且反而觉得有点多此一举。
Consumer<String> consumer = t -> System.out.println(t.toUpperCase());
Consumer<String> consumer = (var t) -> System.out.println(t.toUpperCase());
如果要给lambda表达式变量标注注解的话,那么这个时候var的作用就突显出来了,如下图所示:
Consumer<String> consumer = (@Deprecated t) -> System.out.println(t.toUpperCase());
Consumer<String> consumer = (@Deprecated var t) -> System.out.println(t.toUpperCase());