string:
string共有15個建構函式 可以有string ,byte,char,stringbuffer,int
string類使用了final修飾符:final類不能被繼承,因此final類的成員方法沒有機會被覆蓋,預設都是final的。在設計類時候,如果這個類不需要有子類,類的實現細節不允許改變,並且確信這個類不會載被擴充套件,那麼就設計為final類 如果乙個類不允許其子類覆蓋某個方法,則可以把這個方法宣告為final方法。
使用final方法的原因有二:
第一、把方法鎖定,防止任何繼承類修改它的意義和實現。
第二、高效。編譯器在遇到呼叫final方法時候會轉入內嵌機制,大大提高執行效率。
實現了serializable, comparable, charsequence介面
comparable: compareto()
在string的compareto實現中:
//anotherstring 比較的字串
public int compareto(string anotherstring)
k++;
}} else }}
return len1 - len2; //原始物件和比較物件的長度之差 如果為0就表示相等
} charsequence:
length() 在string中的實現
public int length()
charat()在string中的實現
public char charat(int index)
return value[index + offset];
}subsequence():在string中的實現
public charsequence subsequence(int beginindex, int endindex)
string中的substring方法實現:
public string substring(int beginindex, int endindex)
if (endindex > count)
if (beginindex > endindex)
return ((beginindex == 0) && (endindex == count)) ? this :
new string(offset + beginindex, endindex - beginindex, value); //從中可以看出 當我們使用的substring方法時還是重新new 物件所有效率不是太高.
}tostring()在string類中的實現
public string tostring()
indexof()在string類中的實現:
static int indexof(char source, int sourceoffset, int sourcecount,
char target, int targetoffset, int targetcount,
int fromindex)
if (fromindex < 0)
if (targetcount == 0)
char first = target[targetoffset];
int max = sourceoffset + (sourcecount - targetcount);
for (int i = sourceoffset + fromindex; i <= max; i++)
/* found first character, now look at the rest of v2 */
if (i <= max) }}
return -1;
}string類中的equlas()
public boolean equals(object anobject)
if (anobject instanceof string)
return true;}}
return false;
}講講object類中的equlas()
public boolean equals(object obj)
object類中的tostring()
public string tostring()
---------------
自定義異常:
stringindexoutofbound***ception檢視原始碼可知
public class stringindexoutofbound***ception extends indexoutofbound***ception
public stringindexoutofbound***ception(string s)
public stringindexoutofbound***ception(int index)
}假設現在有乙個我們自己的異常可以從exception繼承
PageHelper 檢視原始碼
原始碼分析 首先進入到分頁外掛程式 一步一步檢視原始碼,關鍵點在於這裡settotal 當你分頁的資料 超過總資料,正常我們寫sql 是返回空,但是通過外掛程式返回的是前面的資料。通過settotal 發現 pagesize 大於0 但是pages int total pagesize total ...
opencv原始碼檢視
1 針對opencv自帶的函式 cv.h中宣告的函式 可直接選擇函式,右鍵轉到宣告 h檔案 或轉到定義 cpp檔案 2 source modules下的函式不能直接跳轉到定義,需要先編譯,此處用cmake編譯原始碼 a 安裝,官網中包括源 sources 需自己編譯 和二進位制檔案 已編譯好 此處選...
LinkedList原始碼檢視
繼承abstractsequentiallist,實現list deque介面.transient int size 0 transient nodefirst transient nodelast addall int index,collection 函式的功能 將指定 collection 中...