剛才發(fā)現(xiàn)了一個小問題,比如我們設(shè)置一個字符串對象test并初始化為null,然后執(zhí)行test+="abc";,此時test的值不是abc,而是nullabc。這是因為我們實際上是讓test="abc"+null;,此時null會被強制轉(zhuǎn)為String類型,其值就是"null".例如下面的例子:
創(chuàng)新互聯(lián)公司服務(wù)項目包括沁源網(wǎng)站建設(shè)、沁源網(wǎng)站制作、沁源網(wǎng)頁制作以及沁源網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沁源網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沁源省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
String test=null+"abc"; System.out.println(test);
輸出就是nullabc
所以我們在使用+=運算符的時候要先判斷是不是null,如果是的話應(yīng)該直接賦值
話又說回來,熟悉String原理就能知道,如果使用+=來創(chuàng)建字符串,會在字符串常量池中產(chǎn)生很多不需要的子串對象,所以不鼓勵使用String的拼接方式一步步創(chuàng)建字符串,應(yīng)該使用StringBuilder 和append()方法。這些類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象。
并且這兩個類是提供了append()方法的,可以傳入char或者String,使用很方便。最后要輸出字符串的時候直接toString()即可。
內(nèi)容擴展:
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.運行結(jié)果
hello,Bob. I am Alice.
hello,Bob. I am Alice.
hello,Bob. I am Alice.
hello,Bob. I am Alice.
到此這篇關(guān)于java String拼接時的問題匯總的文章就介紹到這了,更多相關(guān)java String拼接時候的一個小問題內(nèi)容請搜索創(chuàng)新互聯(lián)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持創(chuàng)新互聯(lián)!
當(dāng)前標題:javaString拼接時的問題匯總
網(wǎng)頁地址:http://sd-ha.com/article30/jgshso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、小程序開發(fā)、手機網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、外貿(mào)建站、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)