[英]How can I use reference method in a UnaryOperator java 8
目前,我有一個像這樣的UnaryOperator
UnaryOperator<Object> defaultParser = obj -> obj;
我不知道在這些操作中是否可以使用方法引用。 例:
UnaryOperator<String> defaultParser = String::toString;
但是通用的方式,不僅僅是String
。
如果你只想避免lambda表達式, UnaryOperator
有靜態identity()
方法:
UnaryOperator<Object> defaultParser = UnaryOperator.identity();
如果您特別需要方法引用(為什么??),則可以在類中定義方法
public static <T> T identity(T t) {
return t;
}
然后,您將能夠將其用作方法參考:
UnaryOperator<Object> defaultParser = MyClass::identity;
是的,您可以使用UnaryOperator.identity()
作為:
UnaryOperator<Object> defaultParser = UnaryOperator.identity();
用lambda表達式定義為
static <T> UnaryOperator<T> identity() {
return t -> t;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.