日期:2014-05-20  浏览次数:20706 次

今天面试遇到个问题把我难住了。各位大牛看下吧,指点下小弟
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 型变量,需要强转。