JavaRush /Java Blog /Random-TW /Java 參考。靜態字串
articles
等級 15

Java 參考。靜態字串

在 Random-TW 群組發布
Java中的字串由String類別描述,並且是靜態的,即 在現有行中,您無法變更字元及其數量。除了透過 new 運算子進行標準建立之外,還可以直接從字串文字建立字串。同時,為了優化目的,以這種方式建立的物件額外儲存在一個單獨的區域——字串池中。 String s1 = "d" // строка будет сохранена в пуле // строка не будет сохранена в пуле // будет уничтожена сборщиком мусора String s2 = new String("a"); 將字串分為靜態和動態的優點之一是,它可以提高使用字串作為參數的安全性(例如,開啟資料庫、Internet 連線、類別載入機制)。

操作+

+ 操作可用於字串,讓您可以將多個字串合併為一個。如果其中一個操作數不是字串,則會自動轉換為字串。對於對象,toString 方法就是用於此目的。每個操作內部都使用動態 StringBuilder 或 StringBuffer 物件。因此,要將多個字串組裝成一個字串,最好一次使用一個 StringBuilder/StringBuffer。

子字串選擇

關於 substring 方法有一個註解 - 傳回的字串使用與原始字串相同的位元組數組。例如,您從 1MB 檔案下載了 A 行。他們在那裡發現了一些東西,並將其分成單獨的 B 行,3 個字元長。B線其實也佔用同樣的1MB。 String s ="very .... long string from file"; // совместно использует ту же память что и s String sub1 = s.substring(2,4); // этот an object использует отдельный массив на 4 символа String sub2 = new String(s.substring(2,4));

基本方法

  • compareTo (String anotherString) - 字串的字典比較;
  • CompareToIgnoreCase (String str) - 字串的不區分大小寫的字典比較;
  • RegionMatches (booleanignoreCase, int toffset, String other, int ooffset, int len) - 測試字串區域的標識,可以指定區分大小寫;
  • RegionMatches (int toffset, String other, int ooffset, int len) - 測試字串區域的識別;
  • concat (String str) - 傳回兩個字串的串聯;
  • contains (CharSequence s) - 檢查指定的字元序列是否包含在字串中;
  • endsWith (String suffix) - 檢查字串是否以指定後綴結尾;
  • startsWith (String prefix) - 檢查字串是否以指定的前綴開頭;
  • startsWith (String prefix, int toffset) - 檢查指定位置的字串是否以指定前綴開頭;
  • equals (Object anObject) - 檢查字串是否與指定物件相同;
  • getBytes ()-傳回字串的位元組表示形式;
  • getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) - 傳回字串的一部分的字元表示形式;
  • hashCode () - 字串的雜湊碼;
  • indexOf (int ch) - 搜尋字串中第一次出現的字元;
  • indexOf (int ch, int fromIndex) - 從指定位置開始搜尋字串中第一次出現的字元;
  • indexOf (String str) - 搜尋指定子字串的第一次出現;
  • indexOf (String str, int fromIndex) - 從指定位置搜尋指定子字串的第一次出現;
  • lastIndexOf (int ch) - 搜尋最後一次出現的符號;
  • lastIndexOf (int ch, int fromIndex) - 從指定位置開始搜尋最後一次出現的字元;
  • lastIndexOf (String str) - 搜尋字串最後一次出現的位置;
  • lastIndexOf (String str, int fromIndex) - 從指定位置搜尋最後一次出現的字串;
  • Replace (char oldChar, char newChar) - 將字串中的一個字元替換為另一個字元;
  • Replace (CharSequence target, CharSequence replacement) - 將一個子字串替換為另一個子字串;
  • substring (int beginIndex, int endIndex) - 以字串形式傳回子字串;
  • toLowerCase ()——將字串轉換為小寫;
  • toLowerCase (Locale locale) - 使用指定的區域設定將字串轉換為小寫;
  • toUpperCase() - 將字串轉換為大寫;
  • toUpperCase (Locale locale) - 使用指定的區域設定將字串轉換為大寫;
  • Trim() - 修剪字串末尾的空字元;
  • valueOf(a) - 用於將各種類型轉換為字串的靜態方法。
搜尋方法傳回出現的索引,如果未找到搜尋的項目,則傳回 -1。Replace 等轉換方法不會修改字串本身,而是傳回對應的新字串物件。 使用正規表示式的方法 字串也有許多使用正規表示式的方法:
  • matches (String regex) - 字串是否與指定的正規表示式相符;
  • ReplaceAll (String regex, String rplс) - 將所有出現的滿足正規表示式的字串替換為指定字串;
  • ReplaceFirst (String regex, String rplс) - 用指定字串取代第一次出現的與正規表示式相符的字串;
  • split (String regex) - 將字串拆分為多個部分,拆分的邊界是滿足正規表示式的字串的出現次數;
  • split (String regex, int limit) - 與前一個類似,但限制是將正規表示式應用於字串到限制值。如果limit>0,則傳回的字串陣列的大小不會超過limit。如果 limit<=0,則正規表示式將無限次套用至字串。
連結到原始來源:http://darkraha.com/rus/java/lang/string/static_string.php
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION