System.out.println(9+9+"99"+9+9);结果是189999。我知道会是这样的结果,但是中间处理过程不太清楚。
解决方案 »
- ROWNUM<=10和ROWNUM>0 AND ROWNUM<=10诡异输出望赐教
- 关于commons logger and translation
- 为什么struts2上传得到的都是.tmp的文件
- 从JSP或Action中如何获得textarea的值
- java压缩字符串问题!!!!!!!!!!!!!!!!!!@!#@¥#¥!@#@!#@!¥@!¥@!@!#%……&……&¥%
- struts tiles框架中相对路径问题向高手请教?
- 谈谈系统设计师与web services的前景
- EJB Hello World
- 如何解决webservice中“ClassCastException”的问题?
- 关于struts2碰到 ClassNotFoundException: org.apache.commons.lang.xwork.StringUtlis
- Spring AOP 方法执行效率问题
- hibernate sum函数 返回Long 问题
如果拼接的前后有String类型的,都当作String类型的来处理。
9+9+"99"+9+9
运行顺序从左往右:两个9都是int类型,所以9+9为int类型, 加起来18
18+"99" ,"99"为String类型,所以为字符串拼接 1899
"1899"+9 = "18999"
"18999"+9 = "189999"
然后做 "1899" + 9 ,因为 String + int ,所以把 int转为 String 即 "1899"+ "9" = "18999"
然后做 "18999" + 9 ,因为 String + int ,所以把 int转为 String 即 "18999"+ "9" = "189999"