Java基礎學習 String類及其方法

2021-09-17 08:23:46 字數 3176 閱讀 4476

string類概述

該類被final修飾,無子類,不可被複寫。建立的物件一旦初始化,其內容不可被改變。

string類複寫了object類中的equals()定義了自己的獨特內容,該方法用於判斷字串相同。

例:

string s1 = "abc";

string s2 = new string("abc");

system.out.println(s1==s2);

system.out.println(s1.equals(s2));

結果顯示

false

true

面試中常考:這裡的s1,s2有何區別?

s1在記憶體中乙個物件,s2有兩個物件。因為記憶體中有乙個常量池存放字串。字串被存放進去以後,以後建立新的字串時會優先在常量池中尋找並組合而成,而s2是建立乙個全新的字串。如:

string s1 = "abc";

string s3 = "abc";

system.out.println(s1==s2);

結果將是true,即s1和s3指向了同乙個物件。

常見方法

1.1 字串長度。

int length():獲取長度。
1.2 根據位置獲取位置上的某個字元。

char charat(int index) :返回指定索引處字元。
1.3 根據字元獲取該字元在字串中的位置。如果沒有找到返回-1.

int indexof(int ch):找到該字元第一次出現的位置

int indexof(int ch,int fromindex):從fromindex處開始索引。

int indexof(string str)

int indexof(string str,int fromindex):從fromindex檢索字串str的位置。

相反的,如果需要反向索引,有類似方法

int lastindexof(*) 從右往左索引,然後**輸出其在字串陣列中的位置**
2.1 字串中是否包含某乙個子串。

boolean contains(charsequence str);
★特殊之處:int indexof(str)也可以檢索str是否存在。

2.2 字串中是否有內容。

boolean isempty():原理就是判斷length是否為0
2.3 字串是否是以指定內容開頭。

boolean startwith(string str);
2.4 字串是否是以指定內容結尾

boolean startwith(string str);
應用場景:通過判斷檔名檢索所需要的檔案

2.5 判斷字串內容是否相同

boolean equals(str)
2.6 判斷內容是否相同並忽略大小寫

boolean equalsignorecase(str)
3.1 將字元陣列轉成字串

建構函式

string(char) 

string(char,offset,count)將字元陣列一部分轉成字串

例:

char arr = ; 

string s = new string(arr,1,3);

結果將是 bcd.因為陣列下角標從0開始,故這裡起始位是b,取3個字元,即為bcd.

靜態方法:需要跟在string後使用

static string copyvalueof(char);

static string copyvalueof(char,offset,count);

3.2 將字串轉成字元陣列

char tochararray();
3.3 將位元組陣列轉成字串

string(byte); 

string(byte,offset,count);

3.4 將字串轉成位元組陣列

byte getbytes();
3.5 將基本資料型別轉成字串

static sting valueof();
特殊:字串和位元組陣列在轉換過程中是可以指定編碼表的

string replace(old char/str,new char/str);
注意:由於字串一旦被建立不能被改變,所以這裡的替換後將會返回乙個新字串副本,而原來的字串不會有變換

string split(regex)  以regex為分割符號進行分割
string substring(begin);從指定出開始到結尾 

string substring(begin,end);從begin處開始到end處結束,之間的子串。**包括begin但不包括end.**

string s = "abcdef";

s1 = s.substring(2);

s2 = s.substring(2,4);

結果s1=cdef,s2=cd。

7.1 將字串轉成大寫或者小寫

string touppercase();

string tolowercase();

7.2 將字串兩端多個空格去除

string trim();
7.3 對兩個字串進行自然順序的比較

int compareto(str);**比較兩個字串大小,並返回第乙個不同的字元之間的ascii碼值差值。**

java基礎 String類命令

1 regionmatches方法 regionmatches方法用於檢測兩個字串在乙個區域內是否相等 public boolean regionmatches int toffset,string other,it ooffset,int len public boolean regionmatc...

Java 基礎之String類

1.string類初始化方法 public class main string str3 new string chars string str4 new string chars,1,4 system.out.println str1 str1 system.out.println str2 st...

Java基礎之String類

1.字串不變 字串的值在建立後不能被更改。2.因為string物件是不可變的,所以它們可以被共享。即記憶體中只建立了乙個物件,可以被多個使用 3.string字串相當於乙個陣列,string底層是靠字元陣列實現的。1.無參構造 string str new string 2.通過字元陣列構造 str...