一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 十個最常見的Java字符串問題(翻譯)

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

2019-12-14 15:10mdxy-dxy JAVA教程

這篇文章主要介紹了十個最常見的Java字符串問題(翻譯),需要的朋友可以參考下

翻譯自:Top 10 questions of Java Strings

 

簡單地說,”==”測試兩個字符串的引用是否相同,equals()測試兩個字符串的值是否相同。除非你希望檢查兩個字符串是否是同一個對象,否則最好用equals()。
如果你知道字符串駐留機制會更好。

2.為什么對于安全性敏感的信息char[]要優于String?

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

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

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

?
1
2
3
4
5
6
7
8
9
// java 7 only!
switch (str.toLowerCase()) {
   case "a":
      value = 1;
      break;
   case "b":
      value = 2;
      break;
}

4.怎樣把字符串轉換為整數?

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

 

很簡單,使用太過頻繁以致有時候會被忽略。

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

我們可以簡單的用正則表達式來做分解。”s”代表空白字符,例如” “,” ”,” ”,” ”。

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

 

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

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

?
1
str.substring(m, n) + ""

 

這樣就創建一個表示新字符串的全新的字符數組。上面的方法有時候會使代碼更快,因為垃圾回收器會回收掉大的不用的字符串,只保留一個子串。
在Oracle JDK 7中,substring()創建一個新的字符數組,不用已有的數組。The substring() Method in JDK 6 and JDK 7 中的圖表說明了JDK 6和JDK 7的substring()之間的差異。

7.String vs StringBuilder vs StringBuffer

String vs StringBuilder:StringBuilder是可變的,這意味著在創建之后人能夠改變它的值。
StringBuilder vs StringBuffer:StringBuffer是同步的,這意味著它是線程安全的,但比StringBuilder更慢。

8.怎樣重復一個字符串?

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

?
1
2
3
String str = "abcd";
String repeated = StringUtils.repeat(str,3);
//abcdabcdabcd

 

9.怎樣把字符串轉換為日期?

?
1
2
3
4
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.怎樣統計一個字符在字符串中出現的次數?

使用Apache Commons Lang包中的StringUtils類。

?
1
2
int n = StringUtils.countMatches("11112222", "1");
System.out.println(n);

 

附加題
怎樣檢測一個字符串只包含大寫字母

翻譯自:Top 10 questions of Java Strings

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费观看视频在线 | 蝴蝶传媒3o45 | 精品久久久久久久久免费影院 | 无遮掩60分钟从头啪到尾 | 天作谜案免费完整版在线观看 | 爸爸的宝贝小说全文在线阅读 | 国产偷啪| 免费一级毛片在级播放 | 极品虎白女在线观看一线天 | 91久久综合九色综合欧美98 | 亚州精品永久观看视频 | 久久99re热在线播放7 | 国产精品va在线观看手机版 | 农村妇女野外牲交一级毛片 | 91精品综合久久久久m3u8 | 国产精品主播在线 | 欧美一区欧美二区 | 91桃色污| 美女视频在线观看视频 | 久久中文字幕综合不卡一二区 | 精品国产原创在线观看视频 | 51国产午夜精品免费视频 | 91在线一区二区三区 | 91极品在线观看 | aaa大片| 大肚孕妇的高h辣文 | 久久精品久久久久 | 欧美又大又粗又爽视频 | 色狠狠婷婷97 | 法国老妇性xx在线播放 | 校服下的白嫩小乳尖h1v1 | 性夜a爽黄爽 | 五月婷婷在线播放 | chinese特色video | 亚洲精品国产一区二区在线 | 精品小视频在线 | 日韩无遮挡大尺度啪啪影片 | 91精品久久一区二区三区 | 国产一区风间由美在线观看 | 日本漫画工囗全彩内番e绅 日本伦理动漫在线观看 | 草莓绿巨人香蕉茄子芭乐 |