slt

le titre n'est pas très parlant mais je vais tenter d'expliquer le cas

j'ai une classe A qui utilise un generic et qui propose une methode duplicate

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public interface A {
 
 
	public <T extends A>T duplicate();
j'ai une classe B qui implemente A

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public class B implements A {
 
 
	public B duplicate() {
 
		B b = new B();
		return b;
 
	}
 
}
pourtant j'ai un warn de compile sur "public B duplicate()" car il me dit que
"Type safety: The return type B for duplicate() from the type B needs unchecked conversion to conform to T from the type A"

pourtant B est bien de type A par héritage

comprend pas

une idée ?