我有以下示例:
Class A{
private int errorCount = 0;
private int successCount = 0;
boolean errorFound = false;
private void functionName(){
// Some Statements
if(errorFound ){
this.errorCount = this.errorCount++;
}else{
this.successCount = this.successCount++;
}
}
}
输出始终为0.
为什么增量运算符不适用于实例变量?
答案 0 :(得分:1)
请记住,增量运算符this.errorCount++;
等同于
this.errorCount = this.errorCount + 1;
您的输出为零,因为此操作的结果为0。
答案 1 :(得分:1)
您应该使用variable++
而不是variable = variable++
。调用post-increment运算符会返回旧值,然后递增,因此在这种情况下,变量始终保持为0。