在Java中,我真的很想知道使用a += b;或是否有区别a = a + b;.我应该主要使用哪一个?我知道第一个是快捷方式,但编译器是否会以不同方式获得这两个指示?
Rob*_*bin 16
引用相关部分:
形式E1 op = E2的复合赋值表达式等效于E1 =(T)((E1)op(E2)),其中T是E1的类型,除了E1仅被评估一次.
short x = 3;
x += 4.6;
Run Code Online (Sandbox Code Playgroud)
并且结果x的值为7,因为它相当于:
short x = 3;
x = (short)(x + 4.6);
Run Code Online (Sandbox Code Playgroud)
因此它不仅仅是语法糖
int x = 1;
long a = 2l;
x+= a;
Run Code Online (Sandbox Code Playgroud)
编译,在哪里
int x =1;
long a =2l;
x = x+a;
Run Code Online (Sandbox Code Playgroud)
给你一个编译错误,就像最近在StackOverflow上讨论的那样
| 归档时间: |
|
| 查看次数: |
7105 次 |
| 最近记录: |