你去看一下源码,String的ValueOf()方法实际上底调用了Integer的toString(),这个方法是通过你传进来的int值来计算一个一个索引值,这个索引值是在Integer类里初始化的几个char数组,通过索引找到数组里对应的字符然后再包装字符数组再返回回来才变成字符串,最后你看到的str的值才是"1",而方法一就不一样了,编译后的class文件里就变成"" 1被处理变为"1",表面上看,是方法二调用了很多方法,有很多操作,不过我猜测是因为方法一赋值是从字符串常量池拿到的"1",而方法二是构造了一个字符串对象赋值给str,主要的时间消耗差距这么大的主要原因还是因为构造对象的过程消耗很大
点赞 评论

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
牛客网
牛客企业服务