Bonjour tout le monde, je viens vers vous aujourd'hui pour un problème de typage. J'ai une classe générique qui hérite d'une interface générique elle aussi. Je souhaite ajouter à cette classe l'interface Cloneable mais je rencontre un problème de sécurité. Je comprends le problème mais je ne sais pas comment le résoudre.

La classe en question :
Vector2
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
23
24
25
26
27
28
29
 
package fr.lurya.math;
 
public abstract class Vector2<T extends Number> implements VectorPrimal<T>, Cloneable {
 
	public Vector2() {
		super();
	}
 
	public Vector2( T x, T y) {
		this.x = x;
	}
 
	public Object clone() {
		Vector2<T> vector = null;
		try {
			vector = (Vector2<T>) super.clone();
		} catch(CloneNotSupportedException e) {
	      	e.printStackTrace(System.err);
	    }
		return vector;
	}
 
 
	private T x;
	private T y;
 
	private static final long serialVersionUID = -7497528690951749972L;
}
Le problème vient de cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
vector = (Vector2<T>) super.clone();
//Type safety: Unchecked cast from Object to Vector2<T>
Merci de votre aide