ObjectTest systemError = (ObjectTest ) o;
//New Code
result &= Objects.equals(this.exp1, systemError.exp1);
result &= Objects.equals(this.exp2, systemError.exp2)  ;
result &= Objects.equals(this.exp3, systemError.exp3);
result &= Objects.equals(this.exp4, systemError.exp4);
result &= Objects.equals(this.exp5, systemError.exp5) ;
result &= Objects.equals(this.exp6, systemError.exp6);
return result;
//Old Code
return Objects.equals(this.exp, systemError.exp) &&
Objects.equals(this.exp1, systemError.exp1) &&
Objects.equals(this.exp2, systemError.exp2) &&
Objects.equals(this.exp3, systemError.exp3) &&
Objects.equals(this.exp4, systemError.exp4) &&
Objects.equals(this.exp5, systemError.exp5) &&
Objects.equals(this.exp6, systemError.exp6);


新代码是旧代码的解决方案吗?任何人都可以对此进行确认。

最佳答案

请注意,a &= ba = a & b相同,出于实际目的,其结果将与a = a && b相同(除了性能,与a的值无关,对于b,也会评估a & b >,而在a && b的情况下,如果ba,则不会处理false

在此基础上,如果您使用result = Objects.equals(this.exp, systemError.exp);开始新代码并使用return result;结束,那么新代码确实可以成为旧代码的解决方案。

如果您仍然有任何了解的问题,请随时告诉我,我将尝试进一步解释。

10-04 17:06