最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

十個(gè)最常見的Java字符串問題(翻譯)

2023-08-03 10:34 作者:wx19970108018  | 我要投稿

十個(gè)最常見的Java字符串問題(翻譯)

翻譯自:Top 10 questions of java Strings

1.怎樣比較字符串?用”==”還是用equals()?

簡單地說,”==”測(cè)試兩個(gè)字符串的引用是否相同,equals()測(cè)試兩個(gè)字符串的值是否相同。除非你希望檢查兩個(gè)字符串是否是同一個(gè)對(duì)象,否則最好用equals()。

如果你知道字符串駐留機(jī)制會(huì)更好。

2.為什么對(duì)于安全性敏感的信息char[]要優(yōu)于String?

字符串是不變的,這也就意味著字符串一旦被創(chuàng)建,它們將一直保持在那直到被垃圾回收器清理為止。而對(duì)于一個(gè)數(shù)組,你可以明確的修改它的元素。這樣一來,安全性敏感信息(比如密碼)將不會(huì)出現(xiàn)在系統(tǒng)的任何其它地方。

3.我們能不能在switch語句中使用String?

對(duì)于Java7答案是肯定的。從JDK7開始,我們可以使用String作為switch語句的條件。在JDK6之前,我們不能使用String作為switch語句的條件。

// 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");

很簡單,使用太過頻繁以致有時(shí)候會(huì)被忽略。

5.怎樣分解一個(gè)有空白字符的字符串?

我們可以簡單的用正則表達(dá)式來做分解?!盶s”代表空白字符,例如” “,”\t”,”\r”,”\n”。

String[] strArray = aString.split("\\s+");

6.substring()方法真正做了什么?

在JDK6中,substring()方法提供了一個(gè)crnxqjU表示已有字符串的字符數(shù)組的窗口,但并沒有創(chuàng)建一個(gè)新的字符串。要?jiǎng)?chuàng)建一個(gè)由新的字符數(shù)組表示的新字符串,可以像下面一樣添加一個(gè)空串:

str.substring(m, n) + ""

這樣就創(chuàng)建一個(gè)表示新字符串的全新的字符數(shù)組。上面的方法有時(shí)候會(huì)使代碼更快,因?yàn)槔厥掌鲿?huì)回收掉大的不用的字符串,只保留一個(gè)子串。

在Oracle JDK 7中,substring()創(chuàng)建一個(gè)新的字符數(shù)組,不用已有的數(shù)組。The substringhttp://() Method in JDK 6 and JDK 7 中的圖表說明了JDK 6和JDK 7的substring()之間的差異。

7.String vs StringBuilder vs StringBuffer

String vs StringBuilder:StringBuilder是可變的,這意味著在創(chuàng)建之后人能夠改變它的值。

StringBuilder vs StringBuffer:StringBuffer是同步的,這意味著它是線程安全的,但比StringBuilder更慢。

8.怎樣重復(fù)一個(gè)字符串?

在python中,我們可以通過乘以一個(gè)數(shù)來重復(fù)字符串。在Java中,我們可以通過Apache Commons Lang包中的StringUtils類的repeat()方法重復(fù)字符串。

String str = "abcd";

String repeated = StringUtils.repeat(str,3);

//abcdabcdabcd

9.怎樣把字符串轉(zhuǎn)換為日期?

String str = "Sep 17, 2013";

Date date http://= new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);

System.out.println(date);

//Tue Sep 17 00:00:00 EDT 2013

10.怎樣統(tǒng)計(jì)一個(gè)字符在字符串中出現(xiàn)的次數(shù)?

使用Apache Commons Lang包中的StringUtils類。

int n = StringUtils.countMatches("11112222", "1");

System.out.println(n);

附加題

怎樣檢測(cè)一個(gè)字符串只包含大寫字母

翻譯自:Top 10 questions of Java Strings

十個(gè)最常見的Java字符串問題(翻譯)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
镇江市| 固安县| 沙雅县| 兴安县| 乡城县| 威宁| 霍城县| 扶风县| 玛多县| 定安县| 漠河县| 广东省| 奉贤区| 昌吉市| 扶风县| 阿拉善右旗| 民丰县| 凤山县| 连山| 永泰县| 牡丹江市| 墨玉县| 合山市| 华宁县| 蕲春县| 吉林省| 葫芦岛市| 玉屏| 界首市| 囊谦县| 商都县| 杂多县| 黑河市| 乐亭县| 东光县| 扎鲁特旗| 邯郸县| 宁武县| 乐安县| 吉木萨尔县| 洮南市|