Mon*_*ava 2 java string casting value-of
请参阅以下代码段:
int count = 0;
String query = "getQuery";
String query1 = "getQuery";
final String PARAMETER = "param";
query += "&" + PARAMETER + "=" + String.valueOf(count);
query1 += "&" + PARAMETER + "=" + count;
System.out.println("Cast to String=>"+query);
System.out.println("Without casting=>"+query1);
Run Code Online (Sandbox Code Playgroud)
两个输出完全相同.所以我想知道为什么只有使用才能获得相同的结果count.
我得到了一些链接,但没有发现完全相同的混乱.
这在JLS-15.18.1中得到了很好的解释.字符串连接运算符+:
如果只有一个操作数表达式是类型
String,则在另一个操作数上执行字符串转换(第5.1.11节)以在运行时生成字符串.
您应该注意以下事项:
该
+运营商在语法上是左关联的,不管它是否被类型的分析确定为代表字符串连接或数字相加.在某些情况下,需要注意获得所需的结果.
如果你写1 + 2 + " fiddlers"的结果将是
3 fiddlers
Run Code Online (Sandbox Code Playgroud)
但是,写作"fiddlers " + 1 + 2产量:
fiddlers 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |