"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué las referencias de métodos con los tipos de retorno pueden implementar la interfaz del consumidor en Java?

¿Por qué las referencias de métodos con los tipos de retorno pueden implementar la interfaz del consumidor en Java?

Publicado el 2025-03-22
Navegar:391

Why Can Method References with Return Types Implement the Consumer Interface in Java?

¿Por qué las referencias del método con los tipos de retorno coinciden con la interfaz del consumidor

en Java, las referencias del método se pueden usar para crear interfaces funcionales? La interfaz del consumidor, por ejemplo, toma un solo argumento y realiza una acción en ella. Sorprendentemente, las referencias del método con los tipos de retorno también pueden coincidir con la interfaz del consumidor.

La decisión de permitir este comportamiento se basó en la idea de adaptar los métodos a las interfaces funcionales de manera similar a cómo se llaman. Específicamente, cualquier método de retorno de valor puede adaptarse a una interfaz del consumidor, incluso si se ignora el valor de retorno.

con respecto a las expresiones lambda, hay dos formas: (args) -> expresión y (args) -> {declaraciones*}. El último formulario puede ser compatible con nula si ninguna ruta de código intenta devolver un valor. El formulario anterior es compatible con el valor si la expresión se evalúa a un valor. Sin embargo, si la expresión también es una declaración (como un operador de invocación o incremento de método), puede ser compatible con nula.

, por ejemplo, la expresión s-> s es compatible con el valor, mientras que s-> i es compatible con void. Esto se debe a que los operadores de incremento/disminución pueden usarse como declaraciones por su cuenta. Otra expresión compatible con void es S -> Nuevo (s), ya que las expresiones de creación de instancias de clase también se pueden usar como declaraciones.

curiosamente, (arg) -> MethodreturningVoid (arg) es la única forma de expresión que no es compatible con valor.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3