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
et je fais une comparaison
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BigInteger idService = new BigInteger(serviceCatalogue[i].getIdService())
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 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 ...![]()
Partager