[英]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.