目前,我有这样的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;

07-27 22:15