今天面试遇到个问题把我难住了。各位大牛看下吧,指点下小弟
public static void main(String args[]){
final int i = 0;
byte b = i;
System.out.println(b)
}
这个能正确运行。得到0
public static void main(String args[]){
int i = 0;
byte b = i;
System.out.println(b)
}
这个就不行了,类型要强转。
请各位大牛看下,讲一下原因吧。小弟谢过了
------解决方案--------------------
加了final 修饰之后,i就变成常量1了,byte b = 1;没有问题
没有final, i是int 型变量,需要强转。