Méthode clone() de Java ArrayList
La méthode clone() est utilisée pour copier une ArrayList, et il s'agit d'une copie superficielle.
Extension :
Une copie superficielle ne copie que le pointeur vers un objet, pas l'objet lui-même. Les nouveaux et anciens objets partagent toujours la même mémoire, doncsi l'un des objets modifie cette adresse, cela affectera l'autre objet.。。
La contrepartie de la copie superficielle est la copie profonde. La copie profonde copie complètement un objet depuis la mémoire, en allouant une nouvelle zone dans la mémoire tas pour stocker le nouvel objet, etla modification du nouvel objet n'affectera pas l'objet d'origine.。
La syntaxe de la méthode clone() est :
arraylist.clone()
Remarque :arraylist est un objet de la classe ArrayList.
Description du paramètre :
- Aucune
Valeur de retour
Renvoie l'objet ArrayList.
Exemple
Utilisez la méthode clone() d'ArrayList pour copier une ArrayList :
Exemple
class Main {
public static void main(String[] args){
// Créer un tableau
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
System.out.println("Liste des sites : " + sites);
// Copier sites
ArrayList<String> cloneSites = (ArrayList<String>)sites.clone();
System.out.println("ArrayList copié : " + cloneSites);
}
}
La sortie de l'exécution du programme ci-dessus est :
网站列表: [Google, Example, Taobao] 拷贝 ArrayList: [Google, Example, Taobao]
Dans l'exemple ci-dessus, nous créons un ArrayList nommé sites. Notez l'expression :
(ArrayList<String>)sites.clone();
- sites.clone()- renvoie l'objet sites copié
- (ArrayList <String>)- convertit la valeur renvoyée en un ArrayList de type String
Afficher la valeur de retour de la méthode clone()
Exemple
class Main {
public static void main(String[] args){
// Créer un tableau
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
System.out.println("Liste des sites : " + sites);
// Afficher la valeur renvoyée par la méthode clone()
System.out.println("valeur de retour de clone() : " + sites.clone());
}
}
La sortie de l'exécution du programme ci-dessus est :
网站列表: [Google, Example, Taobao] clone() 返回值: [Google, Example, Taobao]
Dans l'exemple ci-dessus, nous avons créé un ArrayList nommé sites. Et ici, nous affichons la valeur de retour de la méthode clone().
Remarque :La méthode clone() n'est pas une méthode spécifique de la classe ArrayList. Toute classe qui hérite de l'interface Cloneable peut utiliser la méthode clone().
Autres extensions
Java ArrayList