java se 字串型別

2021-08-22 19:34:12 字數 2854 閱讀 7159

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型別。標註...