这可能已经在另一篇文章中得到了解答,但我只是不知道为什么某些东西无法在我的测试Java应用程序(1.7.0_01)中编译.
这编译:
Short a = (short)17;
a = (short)2 + 1;
Run Code Online (Sandbox Code Playgroud)
我知道"a + a"会产生一个整数.编译好:
Short a = (short)17;
int shortTest = a + a;
Run Code Online (Sandbox Code Playgroud)
那为什么不编译呢?
Short a = (short)17;
a = (short)a + a;
Run Code Online (Sandbox Code Playgroud)
另外,我是否正确地假设你不能在短裤上使用+ =, - =等...因为转换为整数?如果可以进行这些操作,有人可以提供一个例子吗?
编辑1
有一些投票要关闭这篇文章,因为它被认为是一个复制的原始类型'短' - 在Java中投射.但是,我的例子围绕着Wrapper"Short"对象.关于构建Wrapper对象有一些重要且更复杂的规则,这就是我认为需要关注的内容.
另外,正如我的原帖所示,我正在寻找第三个代码块背后的"为什么".我也有兴趣知道是否可以在Short Wrapper上使用"+ ="," - ="等等.
| 归档时间: |
|
| 查看次数: |
11293 次 |
| 最近记录: |