java基礎———第十二天

String類

特點:

字符串是一個特殊的對象,該對象一旦被初始化,就不可以改變。

構造方法:

String s = new String();

String s1 = "";

以上創建爲同一對象。

A:直接給字符串對象賦值
String s = "Hello";
B:通過構造方法傳遞字節數組參數
byte[] b = {97,98,99,100,101};
String s = new String(b);//把字節數組轉換成字符串
String s = new String(b,1,3); //從1開始,取得3個
C:通過構造方法傳遞字符數組參數
char[] ch = {'h','e','l','l','o'};
String s = new String(ch);//變成hello的字符串
String s = new String(ch,1,3);

String對象具備的常用功能:

A:判斷
**equals :判斷字符串的內容是否相同,內容要一模一樣
**equalsIgnoreCase: 判斷字符串的內容是否相同,不區分大小寫
**startsWith: 是否以指定的字符串開頭
**endsWith: 是否以指定的字符串結尾
**contains:判斷某個字符串是否包含指定的字符串
**isEmpty: 判斷字符串是否爲空


B:獲取
**charAt :獲取指定索引處的字符
**length :獲取字符串的長度
***注意: 數組length屬性,字符串有length方法.
**indexOf: 獲取指定字符/字符串第一次出現的索引
 indexOf(char/String,fromIndex) :從指定位置開始 獲取指定字符/字

     符串第一次出現的索引
 
 lastIndexOf:反向索引…………
 lastIndexOf(char/String,formIndex)
**substring(int index) :從指定位置到末尾截取字符串.
 subString(int beginIndex,int endIndex): 從指定開始位置,到指定的

末尾位置,截取字符串.

C:轉換
**getBytes: 把字符串轉換成一個字節數組
**toCharArray: 把字符串轉成一個字符數組  重點
**static String copyValueOf(char[] data) 
          返回指定數組中表示該字符序列的 String。 
 static String copyValueOf(char[] data, int offset, int count) 
          返回指定數組中表示該字符序列的 String。 
**把基本數據類型轉成字符串 次重點
int x = 3;
如何得到字符串呢: x+""
現在怎麼寫? String.valueOf(x)
**toUpperCase  把字符串中所有字符串轉成大寫
**toLowerCase  把字符串中所有字符串轉成小寫
**concat 字符串的連接

D:其他
**替換 

       replace(char oldChar,char newChar)
      replace(String oldString,String newString)
**切割
      String[] split(String str)//括號裏是條件,
**去除字符串兩端的空格
String trim()
**按照字典(自然,a-z)順序對字符串進行比較.
compareTo

StringBuffer類

定義:

線程安全的可變字符序列。一個類似於 String 的字符串緩衝區,但不能修改。雖然在任意時間點上它都包含某種特定的字符序列,但通過某些方法調用可以改變該序列的長度和內容。(其實它就是一個容器)

特點:
1,而且長度是可以變化的。
2,可以直接操作多個數據類型。
3,最終會通過toString方法變成字符串


(CURD)  C creat U update R read D delete 
1,存儲;
StringBuffer append();將指定的數據作爲參數,添加到已有數據的結尾處.
StringBuffer insert(index,數據);將數據插入指定位置上
2,刪除;
StringBuffer delete(start,end);包含start,不包含end
StringBuffer deleteCharAt(intdex);刪除指定位置的字符
3,獲取;
char charAt(index);獲取一個
int indexOf(String str);根據字符串獲取位置
int lastIndexOf(String str);根據字符串從後面獲取位置
int length();//獲取長度
String substring(int start);獲取子串
String substring(int start,int end);獲取子串,不包含尾巴
4,修改;
StringBuffer replace(int start, int end, String str)//修改:頭,尾巴,字符串
void setCharAt(int index, char ch)//注意嘍,沒有返回類型
5,反轉;
StringBuffer reverse()//反轉
6,將緩衝區中的指定數據存儲到指定字符數組中
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)  

StringBuilder類
在JDK1.5版本之後出現了StringBuilder
不同之處:
StringBuffer是線程同步
StringBuilder是線程不同步的
(以後遇到程序的時候,遇到多線程的時候遇到StringBuffer)


升級三個因素:
提高效率、簡化書寫、提高安全性。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章