本篇博客主要以介紹String類的常用方法及一些底層原理
【🪧java中的所有字符串“ ”,都可以視為String類的實例】
【解析】
先在棧中創建一個String類型的引用變量s,然后去字符串常量池中查找有沒有"java"。
如果沒有則在常量池中添加”java”, s引用變量指向常量池中的”abc”,
如果常量池中有,則直接指向改地址即可,不用重新創建.
【🪧一概在堆中創建新對象,值存儲在堆內存的對象中?!?/p>
jdk8中字符串底層是:final修飾的char[ ]數組,故其對象值一旦定義就不能改變.
jdk9之后字符串底層開始變為byte[ ]字節數組了,原因是字節向內存申請的空間更小,有利于節省內存
構造方法 | 方法內容介紹 |
public String(String str) | 📖初始化新創建的String對象,就是給其賦值為str |
public String(byte[] bytes) | 📖將一個字節數組轉化成字符串 |
public String(char[] value) | 📖將一個字符數組轉化成字符串 |
替換功能 | 方法內容介紹 |
String trim() | 📖 將字符串兩邊的空格去掉 |
String replace(String old,String new) | 📖replace(“舊元素”,“新元素”)將字符串中所有’'舊元素”替換成新元素。 |
String replaceAll(String regex, String replacement) | 📖replaceAll(“regex”,“新元素”)遵循正則表達式,將字符串中對應元素替換成新元素。 |
String replaceFirst(String regex, String replacement) | 📖replaceFrist(“regex”,“新元素”)-》:遵循正則表達式,將字符串中第一個對應元素替換成新元素。 |
判斷功能 | 方法內容介紹 |
boolean contains(String str) | 📖判斷此字符串是否為另一個子串。 |
int compareTo(String anotherString) | 📖【按兩字符串從前往后順序拿出相同下標字符比較】若相等就重復之前操作,否則返回兩字符的差 |
int comparetoignorecase(String str) | 📖【忽略字母大小寫,滿足 compareTo()比較原則】 |
boolean isempty() | 📖對象是否為""(空串),【注意:這里與null作區分,null是不存在,它連isEmpty()都沒有?!?/td> |
boolean matches(String regex) | 📖【正則表達式匹配】會告訴這個字符串是否匹配給定的規則 |
boolean equals(String str) | 📖判斷兩個字符串對象內容是否相等. |
boolean equalsIgnoreCase(String str) | 📖判斷兩個字符串對象內容是否相等.(不區分大小寫) |
boolean startsWith(String prefix) | 📖是否以xx開頭 |
boolean endsWith(String suffix) | 📖是否以xx結尾 |
獲取功能 | 方法內容介紹 |
int length() | 📖【獲取長度】返回字符串長度 |
char charAt(int index) | 📖【獲取字符串單個字符】找到i下標下的對應元素 |
int indexOf(String str) | 📖【獲取字符下標】返回字符串第一次查找字符的下標 |
int lastIndexOf(int ch) | 📖【獲取字符下標】返回字符串最后一次查找字符的下標 |
int indexOf(String str,int fromIndex) | 📖從下標fromIndex位置開始找,例如:indexof(‘’,indexof(‘’)+1)找第二個出現的字符 |
String substring(int start) | 📖【從下標satrt到最后】拷貝子串 |
String substring(int start,int end) | 📖【指定區間】拷貝子串 |
轉換功能 | 方法內容介紹 |
String concat(String str) | 📖【只支持String類型之間拼接!】字符串拼接符,相當于 + |
byte[] getBytes() | 📖將字符串轉化為字節數組,可以對數組進行操作,通過構造方法實現數組轉換字符串 |
char[] toCharArray() | 📖將字符串轉化為字符數組,可以對數組進行操作,通過構造方法實現數組轉換字符串 |
static StringvalueOf(T chs) | 📖【將T類型轉化成String字符串】 |
String toLowerCase() | 📖將字符串字母均轉換為小寫 |
String toUpperCase() | 📖將字符串字母均轉換為大寫 |
Stirng[] split(String regex); | 📖以正則表達式或指定字符分割 |
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
怎樣屏蔽360彈出的廣告?這個你安裝一個360安全衛士最新版8.0正式版的,在它的網盾里有個廣告過濾,你按你的需要來自動打開過濾功能就可以了。如果沒有我還是有問題那肯定用360安全衛士進行插件掃描,清除掉,和修復系統.怎樣關閉瀏覽器中的屏蔽廣告的插件?1、要是你找不到插件的位置,這樣你可以不是把它不小心碰到追蹤了,實際上它還在后臺經營管理。那么怎樣才能找不到這些插件呢?以360安全瀏覽器為例子,首...
visualstudio愛心代碼怎么啟動?Visualstudio love代碼啟動方法如下:1.Open the visual studio software.2.單擊文件-新建-項目。3.輸入文件路徑和項目名稱,選擇一個空項目,然后單擊“確定”。4.右鍵單擊源文件,然后單擊添加-新項。5.選擇C文件。6.然后就可以輸入代碼了。7.輸入好的代碼,返回0;在最后;在其前面添加getchar();否...
怎樣在《紅警》里聯機?1. 首先,我們打開紅色警報2游戲,界面如下2。然后選擇選項,出現如下界面3。然后點擊網絡進入設置頁面4。設置目標網絡,兩臺聯機計算機設置為00.00.00。5. 點擊確定進入主界面,點擊網絡,即可加入局域網游戲。1. 鼠標右鍵是一個快速移動的界面。2. 設置team Ctrl 0-9,從當前選定的單元創建一個0-9的團隊。3. 選擇團隊0-9選擇您設置的團隊。4. 添加選擇...