entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Declaracion de clases que usan genéricos en Java

¿La siguiente declaración de clase debería compila o no?, ¿porqué?

public final class Algorithm {
    public static T max(T x, T y) {
        return x > y ? x : y;
    }
}

2 Respuestas

2votos

Peter Puntos150460

No compila, falta la definición de T como generic:

public static <T> T max(T x,T y) ...

Luego de eso el operador > no está definido para clases.

4votos

Si lo que quieres es comparar objetos, no te sirve una clase que implemente genéricos, a no ser que sean "T implements Comparable". Si lo que quieres es comparar tipos primitivos, tampoco te sirve esto, puesto que no son objetos. Si comparas objetos comparables no lo puedes hacer mediante operador, sino que tienes que comparar con el método CompareTo. Todo esto a parte de lo que comenta Peter, que falta la definición de T como genérico.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta