Java常用类之【字符串相关类型】
一、字符相關類型
分類:
1.不可變的字符序列:
String類
2.可變的字符序列:
StringBuilder類——->線程不安全的 執行效率相對較高
StringBuffer類——->線程安全的 執行效率相對較低
二、不可變的字符序列—-String類
2,1構造方法
參數為字符數組://String str=new String(new char[]{‘a’,’b’,’c’});
參數為字符數組+偏移量+count://String str=new String(new char[]{‘a’,’b’,’c’,’d’},0,3);
// 第一個參數 char數組
// 第二個參數 偏移量 從數組中第幾個數據開始寫入String字符串
// 第三個參數 count 寫幾個
// 偏移量+ count 不能超過數組的長度
參數為字節數組://String str=new String(new byte[]{1,2,3});
直接賦值://String str=“abc”;
2,2基本方法
1)用來創造新字符串的方法
拼接:str.Concat(str)【拼接字符串】
替換:str.replace(要被替換的str,用于替換的)
替換:replaceAll(String regex, String replacement)
替換第一個:String replaceFirst(String regex, String replacement)
截取:str.substring(int beginIndex)或者str.substring(int beginIndex, int endIndex)
轉換為小寫:str.toLowerCase()
轉換為大寫:toUpperCase()
去除首尾空格:str.trim()
2)查找字符的方法
匹配開頭返回Boolean:str.startsWith(String prefix, int toffset) 【prefix為匹配的字符串,offset偏移量】或startsWith(String prefix)
匹配結尾:str.endsWith(String suffix)
字符串第一次出現的位置:indexOf(str) 或indexOf(str, int fromIndex) 【fromIndex為從哪個下標開始找】(沒有返回-1,下同)
字符串最后一次出現的位置:lastIndexOf(int ch) 或lastIndexOf(int ch, int fromIndex) 【fromIndex是從左向右數,然后從這個位置向左去匹配】
【該字符串是否含有指定字符串】contains(string regex) //參數為判斷的字符串
3)比較字符的方法
判斷內容是否相等:str.equals(str)
忽略大小寫比較:str.equalsIgnoreCase(str)
按字典順序比較兩個字符串:str1.compareTo(str);【先比較第一個字符,相等,就接著比,直到分出大小,全部相同,返回0,str1小則返回負數,大為正數】(得到的數值為兩字符對應碼的差值e-d=1),compareToIgnoreCase(String str)
匹配正則:str.matches(String regex)
4)其他
將不同基本類型轉為字符串:String.valueOf(基本類型)
將字符串拆分為【字符數組】:str.toCharArray()
將字符串拆分為【字符串數組】:str.split(regex)或split(String regex, int limit) 【limit限制拆分的個數】
判斷字符串是否為空:str.isEmpty() 【當且僅當 length() 為 0 時返回 true】
獲取字符串長度:str.length()
charAt(index)【獲取字符串中對應下標值的字符,返回char類型】
三、可變的字符序列
StringBuffer類
與String類相比較,新增方法:
反向排列:buffer.reverse()
轉為字符串:buffer.toString()
將字符串插入指定位置:buffer.insert(1, “ww”)【參數1:偏移量】
刪除指定下標字符:buffer.deleteCharAt(2)
刪除指定范圍字符串:buffer.delete(1, 2)【參數1:開始下標,參數2:結束下標】
在后面添加字符串:buffer.append(“abc”)
注意:
沒有頻繁的追加或者刪除字符串內容 ——————–用String
頻繁的操作追加或者是刪除字符串中的內容的時候—————- 用StringBuffer 比較有優勢 節省內存開銷
總結
以上是生活随笔為你收集整理的Java常用类之【字符串相关类型】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java常用类之【八种基本数据类型】
- 下一篇: Java常用类之【Math类、Rando