我有一个在我们的例子中称为规则的对象列表,这个对象本身是一个字段列表,我必须对其进行哈希码比较,因为我们不能在系统中复制规则。
即假设我有两个规则 R1 和 R2 与字段 A 和 B。
现在,如果 R1 中 A 和 B 的值分别为 7 和 2。
在 R2 中它分别是 3 和 4 然后我用来检查系统中规则的重复性的过程是哈希码比较失败
我使用的方法是
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);
这里 changeableAttrCodes 我们存储所有规则的哈希码。
所以请给我建议更好的方法,这样以后就不会出现这种问题,并且可以看到系统中规则的重复性。
提前致谢