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

相关推荐

2025-12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务