一. 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.