這篇文章主要講解了“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”吧!
在鐵東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,鐵東網(wǎng)站建設(shè)費(fèi)用合理。
不可變字符串:----String.字符串本身不能發(fā)生改變,與指向字符串的引用無(wú)關(guān)。
String s1 = "1000phone";
可變字符串:----StringBuilder/StringBuffer.字符串本身可以發(fā)生變化,與指向可變字符串的引用無(wú)關(guān)
StringBuffer sBuffer = new StringBuffer("1000phone");
不可變字符串本身是一個(gè)常量,保存在常量區(qū),是存儲(chǔ)在了堆區(qū)中一塊兒特殊的區(qū)域里。
字符串常量的特點(diǎn):同一個(gè)字符串常量在常量區(qū)只允許存儲(chǔ)一個(gè)。
String s = "1000phone";//不可變字符串
當(dāng)執(zhí)行s的時(shí)候,會(huì)到常量區(qū)找叫1000phone的字符串,如果有直接讓s保存他的地址,如果沒有,會(huì)在常量區(qū)開辟一塊兒空間存1000phone.
String s3 = new String("1000phone");
執(zhí)行s3時(shí),由于進(jìn)行了new,一定會(huì)現(xiàn)在堆中開辟一塊兒空間,而1000phone是作為參數(shù)傳給了對(duì)象.保存在了對(duì)象的一個(gè)String
使用equals進(jìn)行String的比較
2.轉(zhuǎn)換:
將字符數(shù)組轉(zhuǎn)換成字符串
char[] arr = {'p','h','o','n','e'};
String string1 = new String(arr); //string1 = phone
將字符串轉(zhuǎn)換成字符數(shù)組
char[] arr1 = string.toCharArray();
System.out.println(arr1);
將字節(jié)數(shù)組轉(zhuǎn)成字符串
//String(byte[] bytes)
//String(byte[] bytes, int offset, int length)
//String(byte[] bytes, String charsetName)//使用指定的編碼將字節(jié)數(shù)組轉(zhuǎn)換成字符成
byte[] bytes = {97,98,99,100};
String string3 = new String(bytes);
System.out.println(string3); //abcd
將字符串轉(zhuǎn)成字節(jié)數(shù)組
//byte[] getBytes()
byte[] bytes1 = string3.getBytes();
將基本數(shù)據(jù)類型轉(zhuǎn)換成字符串
//String.valueOf()
String string4 = String.valueOf(true);
System.out.println(string4);//true
子串:
//包含起始位置,不包含結(jié)束位置,到結(jié)束位置的前一位
String substring(int beginIndex, int endIndex);
大小寫轉(zhuǎn)換
String toLowerCase(); // 轉(zhuǎn)成小寫
String toUpperCase(); // 轉(zhuǎn)成大寫
按字典順序比較兩個(gè)字符串
字典順序:按照ASCII表比較當(dāng)前的兩個(gè)字符,ASCII碼大的認(rèn)為是大的字符
規(guī)則:從左邊第一個(gè)字符開始比較
如果當(dāng)前的字符不相同,直接認(rèn)為ASCII大的字符串是大字符串,后面的字符停止比較
當(dāng)前字符比較的具體規(guī)則:使用前面的字符-后面的字符,返回差值.如果是負(fù)數(shù),說明前面的字符串小于后面的.反之前面的大.
如果當(dāng)前的字符相同,再去比較第二個(gè)字符,依次往后推,如果比到最后都相同,則認(rèn)為兩個(gè)字符串相等,差值返回0.
"1000PHone".compareTo("1000PHone");//0
"1000AHone".compareTo("1000BHone");//-1
"100000".compareTo("100");//-3
可變字符串:
字符串緩沖區(qū).StringBuffer/StringBuilder
區(qū)別:
StringBuffer:出現(xiàn)在jdk1.0,是線程安全的,考慮了線程安全問題
StringBuilder:出現(xiàn)在jdk1.5,是線程不安全的,沒有考慮線程安全問題
注意:在不考慮線程安全問題時(shí),盡量使用StringBuilder,因?yàn)樗俣瓤?效率高
使用:
StringBuffer sBuffer = new StringBuffer();
//1.存儲(chǔ):
//StringBuffer append(boolean b) 從最后插入
sBuffer.append("abcd"); //abcd
//StringBuffer insert(int offset, boolean b) 從指定位置插入
sBuffer.insert(4, 123);
System.out.println(sBuffer);//abcd123
//2.刪除:
//StringBuffer delete(int start, int end) 刪除一部分字符串
//StringBuffer deleteCharAt(int index) 刪除一個(gè)字符
System.out.println(sBuffer.deleteCharAt(4));//abcd23
System.out.println(sBuffer.delete(2,4)); //ab23
//3.修改:
//StringBuffer replace(int start, int end, String str) 替換指定的子字符串
//void setCharAt(int index, char ch) 修改一個(gè)字符
sBuffer.replace(1, 3, "ab") ; //aab3
//4.獲取:
//char charAt(int index)
System.out.println(sBuffer.charAt(0)); //a
//返回指定子字符串的下標(biāo) 從左到右
//int indexOf(String str)
System.out.println(sBuffer.indexOf("ab"));//1
//返回指定子字符串在此字符串中第一次出現(xiàn)處的索引,從指定的索引開始。
System.out.println(sBuffer.indexOf("ab",0)); //1
System.out.println(sBuffer.indexOf("ab",2)); //-1
//int lastIndexOf(String str)
//返回指定子字符串(從右邊開始計(jì)數(shù))在此字符串第一次出現(xiàn)時(shí)的索引
System.out.println(sBuffer.indexOf("ba")); //-1
System.out.println(sBuffer.indexOf("ab")); //1
//int lastIndexOf(String str, int fromIndex)
/返回指定字符在此字符串中最后一次出現(xiàn)處的索引,從指定的索引處開始進(jìn)行反向搜索。
System.out.println(sBuffer.indexOf("ab",1)); //1
//5.反轉(zhuǎn):
//StringBuffer reverse()
System.out.println(sBuffer.reverse()); //3baa
感謝各位的閱讀,以上就是“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)大數(shù)據(jù)字符串怎么轉(zhuǎn)換這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!