如何在 UnaryOperator java 8 中使用引用方法
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();
如果您特别想要一个方法引用(为什么??),您可以在 class
中定义一个方法
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;
}
目前,我有一个UnaryOperator
这样的
UnaryOperator<Object> defaultParser = obj -> obj;
我不知道在这些操作中是否可以使用方法引用。示例:
UnaryOperator<String> defaultParser = String::toString;
但使用通用方式,不只是 String
。
如果你只是想避免 lambda 表达式,UnaryOperator
有静态 identity()
方法:
UnaryOperator<Object> defaultParser = UnaryOperator.identity();
如果您特别想要一个方法引用(为什么??),您可以在 class
中定义一个方法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;
}