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

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

Java中關(guān)于String類型的10個問題

瀏覽:79日期:2022-09-06 13:56:37
 1. 如何比較兩個字符串?用“=”還是equals

簡單來說,“==”是用來檢測倆引用是不是指向內(nèi)存中的同一個對象,而equals()方法則檢測的是兩個對象的值是否相等。只要你項(xiàng)檢測倆字符串是不是相等的,你就必須得用equals()方法。

如果你知道“字符串保留(string intern)”的概念那就更好了。

 2. 為什么安全敏感的字符串信息用char[]會比String對象更好?

String對象是不可變的就意味著直到垃圾回收器過來清掃之前它們都不會發(fā)生變化的。用數(shù)組的話,就可以很明確的修改它任何位置的字符元素。這樣的話,如密碼等安全敏感的信息就不會出現(xiàn)在系統(tǒng)的任何地方。

 3. 字符串對象能否用在switch表達(dá)式中?

從JDK7開始的話,我們就可以在switch條件表達(dá)式中使用字符串了,也就是說7之前的版本是不可以的。

// java 7 only!switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break;} 4. 如何將字符串轉(zhuǎn)換為整型數(shù)值?

int n = Integer.parseInt("10");

如此簡單,經(jīng)常使用有偶爾也會被遺忘。

 5. 如何用空格去分隔字符串?

我們可以很便捷的使用正則表達(dá)式來進(jìn)行分隔。“s”就表示空格,還有如”",”t”,”r”,”n”.

String[] strArray = aString.split(s+); 6. substring()方法具體是都干了些啥?

在JDK6中,這個方法只會在標(biāo)識現(xiàn)有字符串的字符數(shù)組上 給一個窗口來表示結(jié)果字符串,但是不會創(chuàng)建一個新的字符串對象。如果需要創(chuàng)建個新字符串對象,可以這樣在結(jié)果后面+一個空的字符串:

str.substring(m, n) + ""

這么寫的話就會創(chuàng)建一個新的字符數(shù)組來表示結(jié)果字符串。同時,這么寫也有一定的幾率讓你的代碼跑的更快,因?yàn)槔厥掌鲿蓻]有在使用的大字符串回收而留下子字符串。

Oracle JDK7中的substring()方法會創(chuàng)建一個新的字符數(shù)組,而不用之前存在的。看看這張圖就會明白substring()方法在JDK6和JDK7中的區(qū)別。

 7. String&StringBuilder&StringBuffer

String vs StringBuilder:StringBuilder是可變的,這就意味你在創(chuàng)建對象之后還可以去修改它的值。StringBuilder vs StringBuffer:StringBuffer是同步的,意味著它是線程安全的,但是就會比StringBuilder慢些。

 8. 如何快速重復(fù)構(gòu)造一段字符串?

在Python編程中,只需要用字符串去乘以一個數(shù)字就可以 搞定了,那在Java編程中,我們可以使用來自Apache Commons Lang包中的StringUtils類的repeat()方法。

String str = "abcd";String repeated = StringUtils.repeat(str,3);//abcdabcdabcd 9. 如何將時間格式的字符串轉(zhuǎn)換成date對象?

String str = "Sep 17, 2013";Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);System.out.println(date);//Tue Sep 17 00:00:00 EDT 2013 10. 如何計(jì)數(shù)一個字符在某個字符串中出現(xiàn)的次數(shù)?

使用Apache Commons Lang包中的 StringUtils類就可以完成這個工作。

int n = StringUtils.countMatches("11112222", "1");System.out.printl``` n(n);

原文鏈接: programcreek 翻譯: ImportNew - strongme

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 双城市| 揭阳市| 营山县| 界首市| 新兴县| 瑞丽市| 宁国市| 泾阳县| 太谷县| 东至县| 仙桃市| 巩义市| 托里县| 大埔县| 扎赉特旗| 雷山县| 团风县| 东源县| 聊城市| 丰顺县| 通州区| 安陆市| 汶上县| 额敏县| 什邡市| 翼城县| 高要市| 高台县| 安新县| 深州市| 临清市| 太仆寺旗| 香格里拉县| 兰州市| 十堰市| 上栗县| 库车县| 龙山县| 慈溪市| 西盟| 九江县|