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

关于short的一个小题,求解释下
题很简单。部分明白,部分不明白,希望清楚的大大给解释下
short s = 1;
s = s+1;//这个报错,原理我大概清楚
s += 1 ;//这个没报错,这里就迷糊了。求一下解释。谢谢
越详细越好

------解决方案--------------------
我记得有不少人问过类似的问题了,搜搜老帖子吧。

+= 为自增运算符,所以Java编译器会比较聪明的知道你最终是要按照目标类型进行转换的,也就是说:
s += 1
相当于:
s = (short) (s + 1);