stringbuilder:可變字串型別stringbuffer:此類與stringbuilder用法相同
執行緒安全:
stringbuffer執行緒安全
stringbuilder執行緒安全
執行效率:
stringbuffer效率低
stringbuilder效率高
string:
(底層是字元陣列+對陣列的操作)
特點:(1)是不可變得字串型別(物件的內容不能更改)
(2)final修飾的型別
(3)字元索引(下標/index)從0開始
(4)重寫了equals和tostring方法
(5)預設使用unicode字符集,任意字元都佔2位元組
構造器:
string() 建立乙個空字串行的字串物件
string(byte bs) 建立乙個字串物件,使用平台預設字符集進行解碼的字串
string(byte vs,string charset) 將位元組陣列使用指定字符集解碼成相應的字串物件
string(char ch) 將字元陣列轉換成字串物件
string(string str) 指定乙個字串字面量,建立乙個字串物件
常用方法:
返回字串中字元個數的方法:
int length(): 返回字串物件的字元個數
返回指定位置處字元的方法:
char charat(int index): 返回字串行中指定索引處的字元
拼接字串的方法:
string concat(string another) 將指定字串another拼接到此字串行的末尾,返回新物件
檢視字串行是否按規定字元開頭/結尾的方法:
boolean startswith(string prefix) 檢視此字串行是否以prefix開頭
boolean endswith(string suffix) 檢視此字串行是否以suffix結尾
將字串編碼的方法:
byte getbytes() 將此字串按照平台預設字符集編碼成位元組序列,返回乙個新的位元組陣列
byte getbytes(string charset) 將此字串按照指定的字符集編碼成位元組序列,返回新的位元組陣列
查詢字串中的字元/子字串的位置
int indexof(int ch) 返回字元ch在此字串中第一次出現的位置,返回-1,說明字元不在查詢序列中
int intdexof(int ch,int fromindex) 返回字元ch從fromindex開始,在此字串中第一次出現的位置,返回-1,說明字元不在查詢序列中
int indexof(string str) 返回字串str在此字串中第一次出現的位置,返回-1,說明字元不在查詢序列中
int indexof(string str,int fromindex) 返回字串str從fromindex開始,在此字串中第一次出現的位置,返回-1,說明字元不在查詢序列中
int lastindexof(int ch) 返回字元ch在此字串中最後一次出現的位置,返回-1,說明字元不在查詢序列中
int lastindexof(int ch,int endindex) 返回字元ch截止到endindex,在此字串中最後一次出現的位置,返回-1,說明字元不在查詢序列中
int lastindexof(string str) 返回字串str在此字串中最後一次出現的位置,返回-1,說明字元不在查詢序列中
int lastindexof(string str,int endindex) 返回字串str截止到endindex,在此字串中最後一次出現的位置,返回-1,說明字元不在查詢序列中
擷取子字串的方法:
string substring(int beginindex) 從此字串行的beginindex開始擷取,擷取到最後
string substring(int beginindex,int endindex) 從此字串行的beginindex開始擷取,擷取到endindex,包前不包後
字串轉成字元陣列的方法:
char tochararray() 將此字串行變成字元陣列
字串中的字母大小寫轉換:
string touppercase() 將字串中的字母都變成大寫,返回新字串
string tolowercase() 將字串中的字母都變成小寫,返回新字串
前後去掉空格的方法:
string trim() 去掉此字串行的前後空格
將任意引數變成字串物件的方法:
static string valueof(type v) 將引數v變成字串物件
equals()與==的區別:
==:用來比較是不是同乙個物件
equals():用來比較兩個物件的內容是否相同
常量池:
概念:jvm在使用字串型別時,為了提高記憶體的使用率,當使用字面量(常量)給變數賦值時,在方法區內提供了乙個用於儲存字面量物件的乙個常量池
原理:當使用字面量賦值時,先去方法區內的常量池中查詢是否有相同字面量的物件,如果有,就返回常量池中物件的位址,如果沒有,在常量池中建立此字面量的物件再返回
面試 1 java se 字串
hashcode和identityhashcode的區別 i hashcode 方法是object類下面的乙個方法,供繼承類重寫,根據物件記憶體位址計算雜湊值,string類重寫了hashcode方法,並改為根據字串行來計算雜湊值 ii identityhashcode 方法是system類中的靜態...
mysql字串型別 mysql 字串型別
字串型別 字串型別指char varchar binary varbinary blob text enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。型別大小用途 char0 255位元組定長字串 varchar0 65535 位元組變長字串 tinyblob0 255位元組...
字串型別
c 定義了乙個內容豐富的抽象資料型別庫,其中,string和vector是兩種最重要的標準庫型別,前者支援可變長字串,後者則表示可變長的集合。還有一種標準庫型別是迭代器,它是string和vector的配套型別,常被用於訪問string中的字元或vector中的元素。本篇將介紹string型別。標註...