Generici Java - Nessun tipo primitivo

Utilizzando generics, i tipi primitivi non possono essere passati come parametri di tipo. Nell'esempio fornito di seguito, se passiamo il tipo primitivo int alla classe box, il compilatore si lamenterà. Per mitigare lo stesso, dobbiamo passare l'oggetto Integer invece del tipo primitivo int.

Esempio

package com.tutorialspoint;

public class GenericsTester {
   public static void main(String[] args) {
      Box<Integer> integerBox = new Box<Integer>();

      //compiler errror
      //ReferenceType
      //- Syntax error, insert "Dimensions" to complete
      ReferenceType
      //Box<int> stringBox = new Box<int>();

      integerBox.add(new Integer(10));
      printBox(integerBox);
   }

   private static void printBox(Box box) {
      System.out.println("Value: " + box.get());
   }  
}

class Box<T> {
   private T t;

   public void add(T t) {
      this.t = t;
   }

   public T get() {
      return t;
   }   
}

Questo produrrà il seguente risultato:

Produzione

Value: 10