¿Cómo puedo utilizar el método de referencia en un java UnaryOperator 8

Dang Nguyen:

Actualmente, tengo una UnaryOperatorcomo esta

UnaryOperator<Object> defaultParser = obj -> obj;

No sé si puedo utilizar un método de referencia en este tipo de operación. Ejemplo:

UnaryOperator<String> defaultParser = String::toString;

Pero con la forma genérica, y no sólo String.

Misha:

Si lo que desea es evitar la expresión lambda, UnaryOperatortiene estática identity()método:

UnaryOperator<Object> defaultParser = UnaryOperator.identity();

Si desea específicamente un método de referencia (¿por qué ??), se puede definir un método en su clase

public static <T> T identity(T t) {
    return t;
}

Entonces usted será capaz de utilizarlo como referencia el método:

UnaryOperator<Object> defaultParser = MyClass::identity;

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=200756&siteId=1
Recomendado
Clasificación