es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Respuesta 1:

    No, no puedes obtener el tipo String en methodA sin pasar explícitamente String como argumento. Cuando pasas un argumento genérico <string> a methodA, solo especifica el tipo del argumento req, no el tipo de req en sí. req podría ser cualquier objeto de tipo T, por lo que methodA no puede asumir que es un String. Necesitarías pasar explícitamente un objeto String para poder trabajar con su tipo dentro de methodA.

    Respuesta 2:

    Sí, todavía puedes obtener el tipo String en methodA, aunque se pase una expresión lambda como argumento. La expresión lambda item -> "hello world".equals(item) es de tipo Predicate<string>, por lo que el tipo genérico T de methodA se infiere como String. Esto se debe a que la interfaz Predicate tiene un parámetro genérico T que se resuelve como String por la expresión lambda. Por lo tanto, puedes trabajar con el tipo String dentro de methodA basándote en la inferencia de la expresión lambda pasada a ella.

Comments are closed.