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; } }