Solutions aux problèmes rencontrés lors de l'utilisation de la méthode clone() (JAVA)

Nous rencontrons généralement 4 problèmes d'affilée lors de l'utilisation de cette méthode dans des types personnalisés.

Le code de base est le suivant :

class A {
    int[] a = {1,2,3};
}

public class Test {
    public static void main(String[] args) {
        
    }
}

D'abord:

La raison de l'erreur lorsque nous l'appelons directement est que la méthode clone dans la classe Object est protégée et doit être réécrite.

la deuxième:

La raison pour laquelle nous signalons une erreur après la réécriture est que la méthode clone peut lever une exception CloneNotSupportedException, et il s'agit d'une exception vérifiée, nous devons donc la gérer.

Le troisième:

Après avoir traité l'exception CloneNotSupportedException ci-dessus, il y aura une nouvelle exception, car le type d'objet renvoyé par clone doit être forcé.

le quatrième:

Une fois tous les problèmes ci-dessus résolus, cela semble aller à première vue, mais lorsque nous l'exécuterons, une erreur sera à nouveau signalée. Dit que cette classe ne prend pas en charge le clonage.

La solution pour le moment est de laisser la classe clonée implémenter l’interface Cloneable, et le tour est joué.

Remarque : La méthode clone() utilise par défaut une copie superficielle.

Je suppose que tu aimes

Origine blog.csdn.net/2302_76339343/article/details/133818982
conseillé
Classement