Bonjour

Je débute avec les génériques sous Java et j'ai du mal à trouver la parade pour que cela compile

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
import java.util.*;
 
class ApplicationObject
{
  public ApplicationObject[] getChilds() { .... }
 
  public <T extends ApplicationObject> void searchChilds(Class<? extends T> classe, Set<T> resultSet)
  {
    ApplicationObject[] childs = getChilds();
    for(int i=0, n=childs.length; i<n; i++)
    {
      .......
      if (classe == childs[i].getClass())
        resultSet.add((T) childs[i]); // warning
    }
  }
 
  public Set<Model> searchModels()
  {
    Set<Model> modelsSet = new HashSet<Model>();
    searchChilds(Model.class, modelsSet);
    searchChilds(EvaluatedModel.class, modelsSet);
    return modelsSet;
  }
 
  public Set<Label> searchLabels()
  {
    Set<Label> labelsSet = new HashSet<Label>();
    searchChilds(Label.class, labelsSet);
    return labelsSet;
  }
}
 
class Label extends ApplicationObject
{
}
 
class Model extends ApplicationObject
{
}
class EvaluatedModel extends Model
{
}

Merci


finalement j'ai reussi à compiler mais j'ai un warning avec eclipse, y a t-il une autre solution