java語言基礎之String類常見功能詳解

2021-08-19 17:08:05 字數 3737 閱讀 5383

上次說到string類的一些特性和在記憶體中的情況。這篇文章主要從方法功能入手,講一講string類的應用,還有一些stringbuffer和stringbuilder的區別及應用。廢話不多說,進入正題。

關於對資料的基本操作,無非就是:1.增添2.刪除3.修改4.檢視

1.檢視:

1.1檢視長度:int length()//返回該字串長度

1.2根據位置檢視字元

char charat(int index)  //引數是位置下標 (注意從零計數)

1.3根據字元檢視位置

int indexof(int ch )   //注意,這裡的字元引數竟然是int型別,實際上他是該字元的ascii碼

而且返回值是第一次出現該字元的位置。如果找不到,則返回-1.

1.4根據字元檢視位置 :int indexof(int ch ,int fromindex) // 功能:從指定位置開始索引目標字元,並返回其位置。

引數: ch 是被進行索引的目標字元, fromindex是指定的位置。如果找不到,則返回-1.

1.5根據字串檢視位置:int indexof(string s) //功能:索引目標字串,並返回其第乙個匹配字元的位置。   若不存在該字串,則返回-1. 

1.6根據字串檢視位置:int indexof(string s,  int fromindex) //功能:從指定位置開始索引目標字串,並返回其第乙個匹配字元的位置。   若不存在該字串,則返回-1. 

1.7... int lastindexof(int ch , int fromindex )  ... int lastindexof (int ch) ... //從字串尾部倒著索引,功能和上述一致

1.8根據位置檢視字串

string substring(int begin , int end)//功能:根據起始位置和結束位置,從元字串中提取子字串,需要注意的是 end 表示不想提取字元的終點,所以end位置字元不會被提取。子串lenth = end - begin

2.修改

2.1將字串轉化為字元陣列:char  tochararray( string s )

2.2將字串按需分割:string split(string s);  以s為分割位,將字串分割成string陣列

2.3將字串轉換為大小寫:string touppercase()/大寫...... string tolowercase()/小寫

2.4將字串鏈結:string concat(string s)  //連線到末尾,

2.5將字串內容替換:string replace(string olds , string news)//將所有olds用news替換。同理引數可以換為char

2.6將字串前後兩端的空格去掉:string trim()

stringbuffer 與 stringbuilder 及string 區別及應用:

放個大,直接上**demo

string a = new string("hello");

//length()方法

system.out.println("長度:"+a.length());   長度:5

//charat(index)

system.out.println("返回第四個元素:"+a.charat(4));  返回第四個元素:o

//boolean endwith(string other) 

system.out.println("是否是以llo結尾:"+a.endswith("llo")); 是否是以llo結尾:true

//boolean equals(object other)...注意此處的引數型別是object

system.out.println("是否物件內容相同:"+a.equals("hello")); 是否物件內容相同:true

//補充: equalsignorecase(string other) 忽略大小寫進行內容比較

// int indexof(string this)

system.out.println("返回ll的位置:"+a.indexof("ll")); 返回ll的位置:2

//string substring(int beginindex,int endindex),可以這樣理解endindex:最末端不想要的**點,不要理解為終點

system.out.println("返回從1到3的字串:"+a.substring(1, 3)); 返回從1到3的字串:el

//string touppercase()...string tolowercase()...轉換大小寫

stringbuffer sb = new stringbuffer("hello"); 

//stringbuffer insert(int index, string other) 在某處前面插上某字串

system.out.println(sb.insert(0, "吊帶:")); 吊帶:hello  world!

//string tostring stringbuffer型別轉換成string型別

//"***"... new string("***")...  new stringbuffer("***").tostring  三者位址比較

system.out.println(("***")==new string("***"));  //false

system.out.println("***"==new stringbuffer("***").tostring()); //false

system.out.println(new string("***")==new stringbuffer("***").tostring()); //false

system.out.println(new stringbuffer("***").tostring()==new stringbuffer("***").tostring()); //false

區別:stringbuffer是執行緒安全的,因為他的方法是含有synchronized同步關鍵字,但是安全的同時,會降低效率。

顯然啦,stringbuilder是不安全的,但是效率灰常高。

《至於兩者的深入區別,我還得繼續研究一下,爭取下次為他倆寫一篇專門的api部落格》

同志們,有補充的提醒我一下,互相幫助,共同進步啦啦啦~

JAVA基礎練習之String

需求 練習string class stringdemo int beginindex 0,endindex str.length 1 while beginindex endindex str.charat beginindex if beginindex endindex while begin...

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