Les génériques Java incluent principalement « définir des classes génériques », « définir des interfaces génériques », « définir des méthodes génériques », « instancier des classes ou des interfaces génériques », « utiliser des caractères génériques » et « utiliser des qualifications génériques ». Utilisation : 1. Définir une classe générique , utilisez
pour représenter les paramètres de type ; 2. Définissez une interface générique, utilisez pour représenter les paramètres de type ; 3. Définissez une méthode générique, utilisez < classe ou interface générique, spécifiez des paramètres de type spécifiques ; 5. Utilisez des caractères génériques pour représenter un sous-type ou un supertype d'un type générique.
Les génériques Java sont principalement utilisés des manières suivantes :
Vous pouvez définir une classe générique et utiliser
public class MyList<T> { private T[] array; public MyList(T[] array) { this.array = array; } public T get(int index) { return array[index]; } }
peut définir une interface générique, utilisez
public interface MyInterface<T> { T doSomething(); }
peut définir une méthode générique, utiliser
public <T> T doSomething(T param) { // ... }
Lors de l'instanciation d'une classe ou d'une interface générique, vous devez spécifier des paramètres de type spécifiques, par exemple :
MyList<String> list = new MyList<>(new String[]{"a", "b", "c"});
peuvent être utilisés. Les caractères génériques sont utilisé pour représenter les sous-types ou supertypes d'un certain type générique, y compris ?, ? étend T et ? super T. Par exemple :
MyList<? extends Number> list1 = new MyList<>(new Integer[]{1, 2, 3}); MyList<? super Integer> list2 = new MyList<>(new Number[]{1.0, 2.0, 3.0});
Parmi eux, list1 peut accepter n'importe quel sous-type de Nombre (tel que Integer, Float, etc.) comme éléments, et list2 peut accepter n'importe quel super type entier (tel que Nombre, Objet, etc.) en tant qu'éléments.
Vous pouvez utiliser une qualification générique pour limiter la portée des paramètres de type, y compris extends et super, par exemple :
public <T extends Number> void doSomething(T param) { // ... }
où,
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!