尽量避免对变量的装箱:字符串+变量,较好的做法是:字符串+变量.ToString()

"尽量避免对变量的装箱:字符串+变量,较好的做法是:字符串+变量.ToString()"这是什么意思呢,求大神帮助

6个回答

字符串操作性能优化

  使用值类型的ToString方法

  在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 这种教条的规则实际上意义不大。这不是一个追求极致性能的年代了。然而,我们仍然需要注意,如果int i=1,j=3,那么i+j和i.ToString() + j.ToString()是不同的。前者是4,后者是13。
一年多之前 回复
qq_42502902
qq_42502902
一年多之前 回复
showbo
支付宝加好友偷能量挖 字符串和其他类型连接的,一定要记得调用ToString就对了,减少类型判断
一年多之前 回复

变量.ToString()是转成字符串的意思,字符串的拼接是要 字符串+字符串的形式 所以变量需要转成字符串才可以拼接

weixin_42495456
weixin_42495456 回复sinat_33460472: 取决于你的变量是否是字符串.否则会先调用变量的toString()再进行拼接操作.
一年多之前 回复
u012510236
hjkyuiyui Integer i = 10;这种是装箱啊 ,字符串+变量也不会装箱 ,因为你没有声明
一年多之前 回复
sinat_33460472
哆啦CMeng 字符串+变量会有装箱吗
一年多之前 回复

首先先说下toString ,toString 是将其他类型的字符,转成String 类型字符。
字符串+变量.ToString()= 字符串 +字符串

字符串+变量.ToString() 只进行了方法的调用, 而 字符串+变量 涉及到了装箱操作,也即是类型的转换, 后者开销更大,所以不推荐。

数字类型变量的toString()方法本身就会调用拆装箱操作吧,一个是你主动调用toString方法,一个是系统自动调用toString方法,本质没区别的

我想知道这是你哪里看的?能调用toString的都是封装类,本身就已经装箱了,这和字符串+变量有啥区别?我只知道要避免+操作能提升性能的。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!