Les types et méthodes génériques sont une nouvelle fonctionnalité de Java 5.0. Un type générique est une classe ou une interface qui a une ou plusieurs variables de type et une ou plusieurs méthodes qui utilisent une variable de type comme emplacement pour un argument ou un type de résultat.
L'utilisation de types et de méthodes génériques permettent de tirer parti d'une vérification plus poussée des types lors de la compilation. Lorsqu'un type générique est utilisé, un type réel est spécifié pour chaque variable de type. Cette information de type supplémentaire est utilisée par le compilateur pour distribuer automatiquement les valeurs de résultat associées.