您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Java字符串的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
字符串遍歷
String str = "asdfghjkl";
1.
for(int i=0;i<str.length();i++){ char ch = str.charAt(i); }
2.
char[] c=str.toCharArray(); for(char cc:c){ ...//cc 直接用了 }
3.
for(int i=0;i<str.length();i++){ String subStr = str.substring(i, i+1) }
類(lèi)似的,arraylist 三種遍歷方法:
ArrayList 支持 3 種遍歷方式 (01) 第一種,通過(guò)迭代器遍歷。即通過(guò) Iterator 去遍歷。 Integer value = null; Iterator iter = list.iterator(); while (iter.hasNext()) { value = (Integer)iter.next(); } (02) 第二種,隨機(jī)訪問(wèn),通過(guò)索引值去遍歷。 由于 ArrayList 實(shí)現(xiàn)了 RandomAccess 接口,它支持通過(guò)索引值去隨機(jī)訪問(wèn)元素。 Integer value = null; int size = list.size(); for (int i=0; i<size; i++) { value = (Integer)list.get(i); } (03) 第三種,for 循環(huán)遍歷。如下: Integer value = null; for (Integer integ:list) { value = integ; }
效率分析:遍歷 ArrayList 時(shí),使用隨機(jī)訪問(wèn) (即,通過(guò)索引序號(hào)訪問(wèn)) 效率最高,而使用迭代器的效率最低!
類(lèi)型轉(zhuǎn)換
如何實(shí)現(xiàn) String 與基本數(shù)據(jù)類(lèi)型的裝換
將 String 轉(zhuǎn)換為基本的數(shù)據(jù)類(lèi)型。8 個(gè) wrapper class(Integer,Double,...)提供了相對(duì)應(yīng)的方法 parsexxx(String str)將字符串轉(zhuǎn)換為基本的數(shù)據(jù)類(lèi)型,如下:
String str1 = "123"; String str2 = "12.3"; String str3 = "true"; int a = Integer.parseInt(str1); //123 double d = Double.parseDouble(str2); //12.3 boolean flag = Boolean.parseBoolean(str3); //true
如何將基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換為 String,可以使用 String.valueOf()方法進(jìn)行轉(zhuǎn)換,如下:
int a = 123; double b = 13.05; boolean flag = true; String str1 = String.valueOf(a); //123 String str2 = String.valueOf(b); //13.05 String str3 = String.valueOf(flag); //true
同時(shí)還有著更為簡(jiǎn)單快捷的方式,直接在基本數(shù)據(jù)類(lèi)型之后添加 “ ”,如下;
String str1 = a +""; //a String str2 = flag + ""; //true
分割字符串
在 java 里分割字符串是通過(guò)正則表達(dá)式來(lái)分割
String str = "aa-bb-cc-dd"; String[] res = str.split("-"); //aa bb cc dd
取子串
String str = "abcdefg"; str = str.substring(2, 5); //cde
一個(gè)問(wèn)題
在一些敏感信息上, 為什么傾向用 char[], 而不是 String?
當(dāng) String 一旦創(chuàng)建, 便不可再修改, 直到 gc 將它回收. 可 gc 的回收時(shí)間無(wú)法預(yù)測(cè). 即使一個(gè)對(duì)象不存在引用, 也需要在未來(lái)的某個(gè)時(shí)間才會(huì)讓給出回收. 所以 String 操作敏感信息, 有滲漏的風(fēng)險(xiǎn). 可 char[] 就不一樣了, 我們可以通過(guò)程序直接控制其元素, 一般敏感信息不再有用, 直接將數(shù)組即可, 因此更傾向使用 char[] 來(lái)保存密碼等敏感信息
關(guān)于“Java字符串的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。