Mic*_*Neo 6 java casting implicit
为什么当我使用它:
int a = 1;
methodWithParamString(a + "");
Run Code Online (Sandbox Code Playgroud)
a被强制转换为String,我不能在整数上使用toString()吗?
int a = 1;
methodWithParamString(a.toString());
Run Code Online (Sandbox Code Playgroud)
这不是:a+""工作如下:a.toString() + ""?
biz*_*lop 10
不,它有点像String.valueOf( a ) + "",反过来表现得像new StringBuilder( String.valueOf( a ) ).append( "" ).toString().
重要的是要知道它完全由编译器完成,换句话说就是它的语法糖.这就是为什么在循环中将字符串组合在一起并不是一个好主意.(尽管现代VM可能有一些机制来降低性能开销.)
| 归档时间: |
|
| 查看次数: |
6989 次 |
| 最近记录: |