String類的常用方法

一. Java的api-docs文檔組成

1. 在docs中,Java中任何一個類的文檔由如下幾部分組成:

? ? ★類的相關定義,包括類的名稱,有哪些父類,有哪些接口;

? ? ★類的相關簡介,包括一些基本的使用說明;

? ? ★成員(Field)摘要:屬性就是一種成員,會列出所有出現(xiàn)的成員信息項;

? ? ★構造方法(Constructor)說明:列出該類中所有構造方法的信息;

? ? ★方法信息(Method)說明:所有類中定義好的可以使用的方法;

? ? ★成員、構造、方法的詳細信息。

二. 字符串與字符數(shù)組

1. 字符串就是一個字符數(shù)組,所以在String類里面支持有字符數(shù)組轉換為字符串以及字符串變?yōu)樽址奶幚聿僮鞣椒ā_@些處理操作方法如下:

ToDo

char ch = 'a' ;

//ch = (char) (ch - 32) ;

ch -= 32 ; ? // 這樣簡寫可以避免像上面一樣寫強制轉換并且避免出現(xiàn)異常

三. 字節(jié)與字符串

1. 字節(jié)更多的情況是用于數(shù)據(jù)傳輸以及編碼轉換處理之中,在String類里面提供有對字節(jié)操作的支持。

2. 字節(jié)并不適合處理中文,而只有字符適合于處理中文,并且按照程序的概念來講,一個字符等于2個字節(jié),字節(jié)只適合于處理二進制數(shù)據(jù)。

四. 字符串比較

1. 在之前使用過了一個“equals()”方法,該方法本身是可以進行區(qū)分大小寫的相等判斷,而除了 這個方法之外,在String類里面還提供有如下的幾個比較操作。

2. 在String類中compareTo()方法是一個最為重要的操作方法,該方法返回int型的數(shù)據(jù),該數(shù)據(jù)會根據(jù)大小關系返回有三類的內(nèi)容:

●相等:返回0;

●小于:返回的內(nèi)容小于0;

●大于:返回的內(nèi)容大于0;

compareTo()是唯一一個可以區(qū)分大小關系的方法。

五. 字符串查找

1. 從一個完整的字符串之中可以判斷指定的內(nèi)容是否存在,對于字符串的查找方法有許多的定義。

2. 從JDK1.5之后提供了contains()方法來進行字符串的查找操作,在1.5版本之前采用indexOf()方法進行位置查找,判斷返回值是否為-1。但是現(xiàn)在基本上都建議使用contains()方法完成。使用indexOf()需要注意的是,如果所查找的內(nèi)容重復,它只能夠返回查找的第一個位置。

3. 在進行查找的時候往往會判斷開頭或結尾。(這個很有用!!!)很多時候往往一些參數(shù)或利用一些標記做一些特殊的處理,此時就需要使用到startWith()或endWith()。

六. 字符串替換

1. 使用一個指定的新的字符串替換已有的字符串數(shù)據(jù),字符串的替換可以使用的方法如下:

2. 字符串的替換操作與正則有關,后期還會對對其進行分析。

七. 字符串拆分

1. 在整個的字符串之中,可以使用一個特定的字符串來實現(xiàn)字符串的分割處理,也就是說可以將一個完整的字符串,按照指定的分割符劃分為若干個子字符串。

2. 如果發(fā)現(xiàn)有些內(nèi)容無法拆分開,就需要使用“\\”轉義。

范例:

String str = "192.168.1.1" ;

String [] = str.split("\\.") ;

3. 在以后的實際開發(fā)之中,經(jīng)常會出現(xiàn)這樣的拆分模式: ?姓名:年齡|姓名:年齡|...。

八. 字符串截取

1. 從一個完整的字符串之中截取出部分內(nèi)容,那么對于截取的方法有如下幾個:

●public String substring(int beginIndex)

●public String substring(int beginIndex, int endIndex)

九. 字符串其他操作方法

1. String類中也定義有一些比較小的操作方法。如:

●public String strim() ? ?// 去掉字符串中的左右空格,保留中間空格

●public String toUpperCase() ? // 字符串轉大寫

●publci String toLowerCase() ? ?// 字符串轉小寫

●public String intern() ? // 字符串入對象池

●public String concat(String str) ? // 字符串連接,等同于“+”

●public int length() ?// 取得字符串長度

? ? 在數(shù)組上有一個格式“數(shù)組名稱.length屬性”,但是在String類中的length()是一個方法,方法必須通過對象才可以調用,而且方法后面一定有“()”存在。

●public boolean isEmpty() ? // 判斷是否為空字符串(但不是null,而是長度為0)

2. 在String類里面唯一的遺憾是沒有提供首字母大寫的方法,所以我們?nèi)绻胍褂茫敲淳捅仨氉约簛韺崿F(xiàn)。提供的代碼如下:

public static String initCap(String str) {

? ? // "".equals(str)和str.isEmpty(),在沒有str==null的先行判斷下,str.isEmpty()容易產(chǎn)

? ? // 生異常

? ? if (str==null || "".equals(str)) {

? ? ? ? return str ; ?// 進來什么就返回什么

? ? }

? ? if (str.length() > 1) {

? ? ? ? return str.substring(0, 1).toUpperCase() + str.substring(1) ;

? ? }

? ? return str.toUpperCase() ;

}

可以將上述initCap替換為:

public static String initCapFirst(String str) {

// "".equals(str)和str.isEmpty(),在沒有str==null的先行判斷下,str.isEmpty()容易產(chǎn)

// 生異常

if (str==null || "".equals(str)) {

return str ;? // 進來什么就返回什么

}

return str.substring(0, 1).toUpperCase() + str.substring(1) ;

}

這樣子看起來稍微麻煩一些,但是使用效果和initCap()一樣。假設str = “a”,str.substring(1)可以這樣寫的原因是:

Examples:

"unhappy".substring(2) returns "happy"

"Harbison".substring(3) returns "bison"

"emptiness".substring(9) returns "" (an empty string)? ? // "emptiness"長度為9,返回值為empty(空字符串)。

Throws:

IndexOutOfBoundsException - if beginIndex is negative or larger than the length of this String object.

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容