JAVA學習筆記--字串概述,java學習筆記概述

來源:互聯網
上載者:User

JAVA學習筆記--字串概述,java學習筆記概述

一、String類

  String類代表字串,是由字元構成的一個序列。建立String對象的方法很簡單,有以下幾種:

1)用new來建立:

  String s1 = new String("my name is tongye");

2) 不用new直接建立:

  String s2 = "my name is tongye";

3) 可以用字元數組來建立一個字串:

  char[] c = {'t','o','n','g','y','e'};  String s3 = new String(c);

  String對象是不可變的,它們的值在建立後不能更改。String類中每一個看起來會修改String值的方法,實際上都是建立了一個全新的String對象,以包含修改後的字串內容。像下面這樣:

  String s = "tongye";     // 建立了一個內容為 “tongye” 的String對象,並將其引用賦值給s,s是一個String類型的引用  s = "TONGYE";          // 建立了一個內容為“TONGYE”的新的String對象,並將其引用賦值給s

  第二條語句建立後,第一個String對象“tongye”並沒有消失,只是不能再訪問它,因為現在引用s指向了另一個對象“TONGYE”。

  String類有15種構造方法,以及許多處理字串的方法,下面簡單介紹一些:

String();                  // 初始化一個新建立String對象,使其表示一個Null 字元序列String(byte[] bytes);            // 使用平台預設的字元集解碼指定的byte數組,構造一個新的StringString(byte[] bytes,Charset charset);        // 使用指定的Charset解碼指定的byte數組,構造一個新的StringString(byte[] bytes,int offset,int length);  // 使用平台預設的字元街解碼指定的byte子數組,構造一個新的String,其中offset是第一個字元的索引,length是子數組的長度String(StringBuilder builder);         // 分配一個新的字串,它包含字串產生器參數中當前包含的字元序列String(StringBuffer buffer);          // 分配一個新的字串,它包含字串緩衝區參數中當前包含的字元序列

 

charAt(int index);        // 返回指定索引處的char值s1.compareTo(s2);       // 按字典順序比較兩個字串s1和s2,返回一個int型資料s1.equals(s2);             // 將s1與s2相比較,若完全相等,則返回true    s1.contact(s2);            // 將s2串連到字串s1的結尾toString();                   // 返回此對象本身toUpperCase();            // 將所有字元都轉換成大寫valueOf(boolean b);     // 返回boolean參數的字串表示形式substring(int beginIndex,int endIndex);    // 返回一個新的字串,它是該字串的子字串,在beginIndex和endIndex之間split(regex);                 // 使用給定的Regex來拆分此字串

 

二、StringBuffer和StringBuilder類

  String對象一旦被建立,其內容便不能更改,這使得String類並不是很靈活,在一些場合下並不方便。StringBuffer和StringBuilder類是可以替代String類的另一種處理字串的解決方案,它們相比String類來說更為靈活:可以向一個StringBuffer或StringBuilder類中添加、插入或追加新內容。一般來說,只要是使用字串的地方,都可以用StringBuffer或StringBuilder類。

1、StringBuffer

   StringBuffer是一個安全執行緒的可變字元序列,一個類似於String的字串緩衝區,但是不能修改。StringBuffer有多種處理字串的方法,其中主要操作是append和insert方法。StringBuilder是安全執行緒的。

append(boolean b);    // 將布爾型別參數的字串表示形式追加到序列末尾,其他參數類型與之類似insert(int offset,char c);    // 將char型別參數的字串表示形式插入到此序列索引為offset的字元後面delete(int start,int end);    // 刪除索引號start和end之間的字元deleteCharAt(int index);    // 移除序列指定位置處的char

2、StringBuilder

   StringBuilder是一個可變的字元序列。它提供一個與StringBuffer相容的API,但不保證同步。該類被設計為StringBuffer的一個簡單替換,用在字串緩衝區被單個線程使用的時候。在大多數情況下,它比StringBuffer快。將StringBuilder的執行個體用於多個線程是不安全的。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.