Das Grundprinzip für Integer, Boolean usw. ist es, primitive Typen in Kontexten zu verwenden, die einen Referenztyp benötigen. Der klassische Anwendungsfall sind die Collection-APIs, die Sets, Listen, Maps, Queues usw. bereitstellen, wobei der Elementtyp ein Referenztyp sein muss.
So kann ich schreiben:
List<Integer> list = new ArrayList<Integer>();
aber die folgende ist ein Übersetzungsfehler:
List<int> list = new ArrayList<int>();
Beachten Sie, dass dieser Anwendungsfall für die primitiven Wrapper-Typen früher sowohl generische Typen und die „neuen "Sammlungen APIs, und geht zurück zu den Tagen, wo die einzigen Sammlertypen waren die ursprünglichen (vor-generischen) Formen von Vector
und Hashtable
und ihresgleichen.
Um die Antwort hinzuzufügen, wird ein praktisches Beispiel Variablen im Sitzungskontext in einer Web-App speichern. – saugata
Nicht nur Map, alle Container-Klassen benötigen ihre Elemente als Objekt, daher kann der primitive Typ diese Bedingung nicht erfüllen. Und Container, denke ich, ist ein Aspekt, wo objektorientierte Sprache die Prozedursprache überwältigt, die Ihnen viel Bequemlichkeit bringt. :-) –