При использовании обобщенных типов примитивные типы нельзя передавать в качестве параметров типа. В приведенном ниже примере, если мы передадим тип int примитива в класс box, компилятор будет жаловаться. Чтобы смягчить то же самое, нам нужно передать объект Integer вместо примитивного типа int.
пример
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; } }
Это даст следующий результат —