Dans ce didacticiel, nous allons découvrir l'autoboxing et le déballage Java à l'aide d'exemples.
Java Autoboxing - Type primitif en objet wrapper
Dans l' autoboxing , le compilateur Java convertit automatiquement les types primitifs en objets de classe wrapper correspondants. Par exemple,
int a = 56; // autoboxing Integer aObj = a;
La boxe automatique a un grand avantage tout en travaillant avec des collections Java.
Exemple 1: Java Autoboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) )
Production
ArrayList: (5, 6)
Dans l'exemple ci-dessus, nous avons créé une liste de tableaux de type Integer. Par conséquent, la liste de tableaux ne peut contenir que des objets de Integer
type.
Remarquez la ligne,
list.add(5);
Ici, nous passons une valeur de type primitif. Cependant, en raison de l' autoboxing , la valeur primitive est automatiquement convertie en Integer
objet et stockée dans la liste de tableaux.
Unboxing Java - Objets wrapper vers types primitifs
Lors du déballage , le compilateur Java convertit automatiquement les objets de classe wrapper en leurs types primitifs correspondants. Par exemple,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Comme autoboxing , unboxing peut également être utilisé avec des collections Java.
Exemple 2: Unboxing Java
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) )
Production
ArrayList: (5, 6) Valeur à l'index 0: 5
Dans l'exemple ci-dessus, notez la ligne,
int a = list.get(0);
Ici, la get()
méthode renvoie l'objet à l'indice 0. Cependant, en raison du déballage , l'objet est automatiquement converti dans le type primitif int
et affecté à la variable a.