【发布时间】:2016-06-19 07:31:35
【问题描述】:
这是我的代码:
class Example{
public static void main(String args[]){
byte b=10;
//b=b+1; //Illegal
b+=1; //Legal
System.out.println(b);
}
}
我想知道为什么如果我使用 b=b+1 会出现编译错误,但另一方面 b+=1 编译正确,而它们似乎在做同样的事情。
【问题讨论】:
-
你是说编译器没有为你“描述原因”????
-
错误 -> (不兼容的类型:从 int 到 byte 的可能有损转换)。但在这种情况下,“b+=1”编译器是如何做到的
标签: java