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
Le problème vient de cette ligne :
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; }
Merci de votre aide
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>
Partager