为什么Eclipse在最后一个“X”下方指出了错误
int a = 1;
final int X = a;
byte b = X;
类型不匹配:无法将int转换为byte
而下面的代码却没有出现这个问题?
final int Y =10;
byte b2 = Y;
int a = 1;
final int X = a;
byte b = X;
类型不匹配:无法将int转换为byte
而下面的代码却没有出现这个问题?
final int Y =10;
byte b2 = Y;
final int Y =10;
byte b2 = Y;
Y
的值是有效的byte
范围值,并且由于final
修饰符,它永远不会改变。int a = 1;
final int X = a;
byte b = X;
a
可以是任何值,当我们使用 final
修饰符标记时,我们不知道它是否是有效的 byte
范围值,因此执行以下操作:
byte b = X;
如果你这样做:
将导致编译错误。
final int a = 1;
final int X = a;
byte b = X;