public class Java{
public static void main(String[] args){
final byte x = 1;
final byte y = 2;
byte z = x + y;//ok
System.out.println(z);
byte a = 1;
byte b = 2;
byte c = a + b; //Compiler error
System.out.println(c);
}
}
Run Code Online (Sandbox Code Playgroud)
如果涉及任何int-sized或者更小的表达式的结果总是为int,即使两个字节的总和适合一个字节.
当我们添加两个适合字节的最终字节时,为什么会这样? 没有编译器错误.
我知道i ++不是一个线程安全的操作.我也理解为什么i ++比i = i + 1更快.在线程安全方面,i = i + 1与i ++有什么不同吗?任何字节码级别的解释都非常有用.