Ejemplos tipos genéricos

package com.trifulcas.colecciones;

public class EjemplosGenericos {

	public static void main(String[] args) {
		// Al ser tipo int llama a la primera función
		System.out.println(mayor(4,3));
		// Al ser tipo dobule llama a la segunda
		System.out.println(mayor(4.6,3.5));
		// Llamo a la función con parámetros de tipo double
		System.out.println(mayorG(4.6,3.5));
		// Llamo a la función con parámetros de tipo int
		System.out.println(mayorG(3,4));
		// Llamo a la función con parámetros de tipo String
		System.out.println(mayorG("ana","pep"));

	}
	// Esta función tiene de tipo int
	static int mayor(int a, int b) {
		if (a>b) { 
			return a;
		}
		return b;
	}
	// Esta función es una sobrecarga con double
	static double mayor(double a, double b) {
		if (a>b) { 
			return a;
		}
		return b;
	}
	// Aquí utilizo un tipo genérico, puedo llamar a la función
	// Con cualquier tipo (siempre que se pueda comparar, que eso es lo que significa extends Comparable<T>)
	static <T extends Comparable<T>> T mayorG(T a, T b){
		if (a.compareTo(b)>0) { 
			return a;
		}
		return b;
	}
}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos