国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java String拼接時的問題匯總

瀏覽:78日期:2022-09-05 10:19:41

剛才發現了一個小問題,比如我們設置一個字符串對象test并初始化為null,然后執行test+='abc';,此時test的值不是abc,而是nullabc。這是因為我們實際上是讓test='abc'+null;,此時null會被強制轉為String類型,其值就是'null'.例如下面的例子:

String test=null+'abc';System.out.println(test);

輸出就是nullabc

所以我們在使用+=運算符的時候要先判斷是不是null,如果是的話應該直接賦值

話又說回來,熟悉String原理就能知道,如果使用+=來創建字符串,會在字符串常量池中產生很多不需要的子串對象,所以不鼓勵使用String的拼接方式一步步創建字符串,應該使用StringBuilder 和append()方法。這些類的對象能夠被多次的修改,并且不產生新的未使用對象。

并且這兩個類是提供了append()方法的,可以傳入char或者String,使用很方便。最后要輸出字符串的時候直接toString()即可。

內容擴展:

java拼接字符串、格式化字符串方式

//+ String arg0 = 'Bob'; String arg1 = 'Alice'; System.out.println('hello,' + arg0 + '. I am ' + arg1 + '.'); //StringBuilder.append StringBuilder builder = new StringBuilder(); builder.append('hello,'); builder.append(arg0); builder.append('. I am '); builder.append(arg1); builder.append('.'); System.out.println(builder.toString()); //String.format String formatStr = String.format('hello,%s. I am %s.', arg0, arg1); System.out.println(formatStr); //MessageFormat.format String formattedText = MessageFormat.format('hello,{0}. I am {1}.', arg0, arg1); System.out.println(formattedText);

2.運行結果

hello,Bob. I am Alice.hello,Bob. I am Alice.hello,Bob. I am Alice.hello,Bob. I am Alice.

到此這篇關于java String拼接時的問題匯總的文章就介紹到這了,更多相關java String拼接時候的一個小問題內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 武冈市| 儋州市| 独山县| 黔南| 虞城县| 南京市| 遂宁市| 宾阳县| 临高县| 龙井市| 珲春市| 舟山市| 墨竹工卡县| 双城市| 侯马市| 河曲县| 吉木乃县| 新源县| 合肥市| 阿克| 广东省| 江都市| 龙海市| 湟中县| 广河县| 门头沟区| 商城县| 同德县| 廊坊市| 永泰县| 和顺县| 新营市| 河北省| 龙游县| 苍溪县| 蒲城县| 桃江县| 瓦房店市| 新绛县| 丰城市| 鸡泽县|