Lambda表达式中的双冒号::如何改写为一个长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计716个文字,预计阅读时间需要3分钟。
双冒号运算就是Java中的[方法引用],[方法引用]的格式是:+ 类名::方法名 + 注意是方法名后面没有括号。之所以不要括号,因为这样的是格式是子表达式,并不代表一定会调用这个方法。
双冒号运算就是Java中的[方法引用],[方法引用]的格式是
类名::方法名
注意是方法名哦,后面没有括号“()”哒。为啥不要括号,因为这样的是式子并不代表一定会调用这个方法。这种式子一般是用作Lambda表达式,Lambda有所谓懒加载嘛,不要括号就是说,看情况调用方法。
例如
表达式:
person -> person.getAge();
可以替换成
Person::getAge
表达式
() -> new HashMap<>();
可以替换成
HashMap::new
这种[方法引用]或者说[双冒号运算]对应的参数类型是Function<T,R> T表示传入类型,R表示返回类型。
本文共计716个文字,预计阅读时间需要3分钟。
双冒号运算就是Java中的[方法引用],[方法引用]的格式是:+ 类名::方法名 + 注意是方法名后面没有括号。之所以不要括号,因为这样的是格式是子表达式,并不代表一定会调用这个方法。
双冒号运算就是Java中的[方法引用],[方法引用]的格式是
类名::方法名
注意是方法名哦,后面没有括号“()”哒。为啥不要括号,因为这样的是式子并不代表一定会调用这个方法。这种式子一般是用作Lambda表达式,Lambda有所谓懒加载嘛,不要括号就是说,看情况调用方法。
例如
表达式:
person -> person.getAge();
可以替换成
Person::getAge
表达式
() -> new HashMap<>();
可以替换成
HashMap::new
这种[方法引用]或者说[双冒号运算]对应的参数类型是Function<T,R> T表示传入类型,R表示返回类型。

