Hello!

Je bute sur un petit problème, j'ai ici une classe avec un type paramétré qui implémente la méthode clone()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
public class MaClasse<T>
{
 
    private T param;
 
    public MaClasse(T param)
    {
        this.param = param;
    }
 
    public MaClasse(MaClasse uneAutreMaClasse)
    {
        this.param = (T) uneAutreMaClasse.param.clone();
    }
 
    @Override
    public MaClasse clone()
    {
        return new HpsToolPosition(this);
    }
}
Problème : clone() est une méthode protected, comme j'utilise un type paramétré, le package de T est donc java.lang, puisqu'il est considéré comme un Object.

Si je ne clone pas param, ça fonctionne, mais ça n'assure pas la copie profonde que l'on voudrait avec la méthode clone().

Est-ce qu'un de vous entreverrait une solution à ceci?

Merci d'avance!