Parametri di tipo con limiti

Autore: marco.faella2@unina.it Java

Supponiamo di voler scrivere un metodo statico che accetta una lista di oggetti tra loro confrontabili, e restituisce l'elemento minimo della lista. I limiti superiori permettono di accettare, come parametro di tipo, soltanto un tipo che implementi Comparable. Siccome Comparable è a sua volta parametrica, bisogna specificare anche il suo parametro di tipo.
  1. public static <T extends Comparable<T>> T getMin(List<T> l) {
  2.         T temp, min;
  3.         Iterator<T> i = l.iterator();
  4.         if (i.hasNext()) min = i.next();
  5.         else return null;
  6.        
  7.         while (i.hasNext()) {
  8.                 temp = i.next();
  9.                 if (temp.compareTo(min) < 0) min = temp;
  10.         }
  11.         return min;
  12. }