comment savoir si un objet est itérable ?
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:
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:
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:
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 ...