程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java學習筆記_關於字符串概述

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對象,使其表示一個空字符序列

String(byte[] bytes);            // 使用平台默認的字符集解碼指定的byte數組,構造一個新的String

String(byte[] bytes,Charset charset);     // 使用指定的Charset解碼指定的byte數組,構造一個新的String

String(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);         // 使用給定的正則表達式來拆分此字符串

二、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的實例用於多個線程是不安全的。

以上這篇java學習筆記_關於字符串概述就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved