count = count++
public class Test {
public static void main(String[] args){
int count = 0;
count = count++;
}
}
javap反编译查看字节码结果如下:
Code:
0: iconst_0
1: istore_1
2: iload_1
3: iinc 1, 1
6: istore_1
7: return
解释:
0 : 加载常量0至栈顶
1 : 将栈顶值赋值给index=1的变量(这里指count)
2 : 将index=1的变量放到栈顶
3 : 将index=1的变量增加1
6 : 将栈顶的值赋值给index=1的变量
可以看得出来,count的值确实加了,只不过没有被保存,而是被原始的0给覆盖掉了
单独的count++:
public class Test {
public static void main(String[] args){
int count = 0;
count++;
}
}
javap反编译结果:
Code:
0: iconst_0
1: istore_1
2: iinc 1, 1
5: return
比较一下,这里是可以加上的.