Maison  >  Article  >  Java  >  Introduction détaillée aux génériques Java

Introduction détaillée aux génériques Java

王林
王林avant
2019-11-27 16:30:491830parcourir

Introduction détaillée aux génériques Java

Java Generics

Les génériques fournissent un mécanisme de détection de sécurité de type au moment de la compilation qui permet aux programmeurs de détecter le type illégal. L'essence des génériques est un type paramétré, ce qui signifie que le type de données sur lequel l'opération est effectuée est spécifié en tant que paramètre.

Par exemple, si nous voulons écrire une méthode de tri capable de trier un tableau d'entiers, un tableau de chaînes ou même tout autre type de tableau, nous pouvons utiliser des génériques Java.

Recommandation de vidéo d'apprentissage en ligne gratuite : Vidéo en ligne Java

Méthode générique

Vous pouvez écrire une méthode générique, qui peut recevoir différents types de paramètres lorsqu’il est appelé. En fonction des types de paramètres transmis à la méthode générique, le compilateur gère chaque appel de méthode de manière appropriée.

Par exemple :

public static < E > void printArray( E[] inputArray ){
	for ( E element : inputArray ){
		System.out.printf( "%s ", element );
	}
}

Bordure générique

(1)04fe2e05ce36808fd235e14bf0b06d74 indique que le type représenté par le caractère générique est la classe parent du type T.

2. Classe générique

La déclaration d'une classe générique est similaire à la déclaration d'une classe non générique, sauf qu'une partie de déclaration de paramètre de type est ajoutée après le nom de la classe. Comme les méthodes génériques, la partie déclaration des paramètres de type d’une classe générique contient également un ou plusieurs paramètres de type, séparés par des virgules.

Un paramètre générique, également appelé variable de type, est un identifiant utilisé pour spécifier le nom d'un type générique. Parce qu'elles acceptent un ou plusieurs paramètres, ces classes sont appelées classes paramétrées ou types paramétrés.

Par exemple :

public class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}

3. Type générique ?

Le type générique utilise généralement ? Par exemple, List6b3d0130bba23ae47fe2b8e8cddf0195 est logiquement la classe parent de List, List et de tous les paramètres réels de type Listb8eff36bbb42b608e3cc5aaf9728ac04.

4. Effacement de type

Les génériques en Java sont essentiellement implémentés au niveau du compilateur. Les informations de type dans les génériques ne sont pas incluses dans le byte code Java généré. Les paramètres de type ajoutés lors de l'utilisation de génériques seront supprimés par le compilateur lors de la compilation. Ce processus est appelé effacement de type.

Les types tels que List et List définis dans le code deviendront List après compilation. Tout ce que la JVM voit, c'est la liste, et les informations de type attachées par les génériques sont invisibles pour la JVM.

Le processus de base d'effacement de type est également relativement simple. La première étape consiste à trouver la classe spécifique utilisée pour remplacer les paramètres de type. Cette classe concrète est généralement Object. Si une limite supérieure pour un paramètre de type est spécifiée, cette limite supérieure est utilisée. Remplacez tous les paramètres de type dans le code par des classes spécifiques.

Tutoriels d'articles liés à Java : Introduction au langage Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer