久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java - StringBuffer轉(zhuǎn)成String,可以不同過tostring,而是通過+“”的方式轉(zhuǎn)換嗎?

瀏覽:166日期:2024-02-14 17:59:23

問題描述

問題解答

回答1:

sb本質(zhì)是一個(gè)StringBuffer對象,直接sb+''就是在調(diào)用了sb.toString()去和''進(jìn)行拼接,另外補(bǔ)充一點(diǎn),StringBuffer是線程安全的,為什么要使用StringBuilder或者StringBuffer呢?原因是String類在Jdk里邊,是final類型的,但是為什么final修飾的還可以String str = s + '';這種形式存在呢?因?yàn)樵趈vm里邊,每次執(zhí)行+的時(shí)候,都會(huì)創(chuàng)建一個(gè)臨時(shí)的String對象,然后你看到的String str = a + b;實(shí)際上是String str = new String(a) + new String(b);的形式,這樣如果要拼接的字符串多了,就會(huì)創(chuàng)建出很多String對象,因此,造成gc的開銷增大,所以這種頻繁的操作不直接用字符串拼接,而是用StringBuilder或者StringBuffer來取代。

標(biāo)簽: java
主站蜘蛛池模板: 舞钢市| 湖州市| 咸宁市| 太康县| 和田县| 凉山| 中西区| 珲春市| 专栏| 云南省| 淅川县| 邯郸县| 新丰县| 黑河市| 安宁市| 邵武市| 福泉市| 阿尔山市| 稻城县| 潜山县| 什邡市| 裕民县| 敖汉旗| 林甸县| 湘潭县| 连平县| 高要市| 龙口市| 旌德县| 长泰县| 辽阳市| 富阳市| 龙井市| 乌鲁木齐县| 罗源县| 泽库县| 乐至县| 乐清市| 宾川县| 永定县| 梓潼县|