J'ai la liste d'un objet qui est appelé règle dans notre cas, cet objet est une liste de champs pour lesquels je dois faire une comparaison de hash, car nous ne pouvons pas dupliquer la règle dans le système .Problème de comparaison de hash
i.e. Disons que j'ai deux règles R1 et R2 avec des champs A & B.
Maintenant, si les valeurs de A & B dans R1 sont respectivement 7 et 2.
Et dans R2, il est 3 et 4, respectivement, alors le processus j'ai utilisé pour vérifier la fausseté de règles dans le système qui est la comparaison de hashcode échoue
la méthode que je l'ai utilisé est
for(Rule rule : rules){
changeableAttrCode=0;
fieldCounter=1;
attributes = rule.getAttributes();
for(RuleField ruleField : attributes){
changeableAttrCode = changeableAttrCode + (fieldCounter * ruleField.getValue().hashCode());
fieldCounter++;
}
parameters = rule.getParameters();
for(RuleField ruleField : parameters){
changeableAttrCode = changeableAttrCode + (fieldCounter * ruleField.getValue().hashCode());
fieldCounter++;
}
changeableAttrCodes.add(changeableAttrCode);
ici changeableAttrCodes où nous stockons le hashcode de toutes les règles.
peut donc s'il vous plaît me suggérer une meilleure méthode afin que ce genre de problème ne se pose pas à l'avenir ainsi que la duplicité des règles dans le système peut être vu.
Merci à l'avance
Oui, et vous devriez également remettre en question certaines des réponses précédentes. – Adamski
indentation de code correcte augmente la lisibilité du code, plus facile d'obtenir de l'aide –