Construction et comparaison de BigInteger
Bonjour à tous
j'ai des problèmes pour la manipulation des BigInteger
Je dois savoir si un element fais partie d'un vector d'objets
Ces objets appelés services mais sur lesquels je n'ai pas la "main" : c'est à dire que je ne peux pas changer l'implementation
Bref ces services ont des id qui sont des BigInteger.L'element dont je dois verifier l'appartenance au vector a aussi un id mais c'est un string ...
je me suis dis que j'allais comparer les deux ids et pour cela j'ai convertis l'id qui est un string en BigInteger de la façon suivante
Code:
1 2
|
BigInteger idService = new BigInteger(serviceCatalogue[i].getIdService()) |
et je fais une comparaison
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
boolean isPossede = false;
for (Iterator iter = services.iterator(); iter.hasNext();) {
Service service = (Service) iter.next();
if (0 == (service.getId()).compareTo(idService)){
logger.debug("le client possede le service : " + idService);
isPossede = true;
break;
}
else{
logger.debug("le client ne possede pas le service : " + idService);
isPossede = false;
}
} |
Mais une fois sur deux ma méthode me dit que le service est possédé par le client ..
Est ce que c'est la conversion qui pose problème ou bien la comparaison qui n'est pas correcte ? ou autre chose ... ?
merci d'avance ...
Si mon message n'est pas clair ... n'hesitez pas à me le faire savoir ... :D