繁体   English   中英

如何在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();

如果您特别需要方法引用(为什么??),则可以在类中定义方法

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM