Bonjour à tous,
j'ai un petit souci avec un code java. J'ai téléchargé 2 versions d'un code d'une même application
Je vais appelé la version à jour "version n" et la version antérieur "version n-1"
J'ai comparé les 2 et j'ai dans la version n la boucle suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
for (Iterator iterator = roleDescrp.iterator(); iterator.hasNext();)

alors que dans la version n-1, je n'ai pas cette boucle
J'ai donc voulu l'ajouter mais au surprise il m'indique que la méthode iterator() est indéfini pour le type RoleDescriptor (= type de la variable roleDescrp)
J'ai donc comparé les codes des class RoleDescriptor de la version n et n-1 mais je ne vois aucune différence alors je ne comprend pas pourquoi j'ai ce problème ?
PS: dans la class RoleDescriptor, la méthode iterator n'est implémenté dans aucune des 2 versions

J'aimerai savoir comment sait on qu'un objet peut utiliser la méthode iterator() ?


dans la version n, j'ai ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package org.eclipse.epf.uma;
import java.util.List;
public interface RoleDescriptor
    extends Descriptor
{
 
    public abstract Role getRole();
 
    public abstract void setRole(Role role);
 
    public abstract List getModifies();
 
    public abstract List getResponsibleFor();
}
je précise que pour cette version j'ai été obligé de décompiler un fichier .class
en revanche pour la version n-1, j'ai bien les fichiers .java (c'est pour ça que je travail avec celle ci ^^ )

Dans la version n-1, en retirant tout les commentaires j'obtiens ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
package org.eclipse.epf.uma;
 
import java.util.List;
public interface RoleDescriptor extends Descriptor {
	Role getRole();
        void setRole(Role value);
	List getModifies();
	List getResponsibleFor();
 
} // RoleDescriptor

comme vous pouvez le voir la différence est minime ...