1. 程式人生 > >java類庫字符串操作

java類庫字符串操作

適合 同步 很多 str 源碼 都是 rev class 類型

在java類庫中,java給我們提供了字符串幾個特別的操作,分別是String,Stringbuffer,Stringbuilder等。下面就對這幾個類做一個簡單的介紹。首先,我們先了解一下String,源碼中,定義該類型的類是被一個final修飾,這就註定了String永遠不可能被繼承。那麽相對於其他幾個,什麽時候用String呢?String字符串常量一旦被聲明,就不可能被改變,所以String類不適合被頻繁修改。對於字符串中常用的操作方法有很多,這裏不需要死記硬背,會查會檢索,會應用即可。這裏對String的方法不做詳細介紹,關於String和Stringbuffer之間的轉換,這裏有必要說一下String轉換為Stringbuffer,代碼如下:

//        利用構造函數
        StringBuffer net = new StringBuffer("www.abc.com");
        System.out.println(net);
        
        
//        利用append方法
        net.append(".world");
        System.out.println(net);

據以上代碼可以看出有兩種方式,第一種是利用構造函數,第二種是利用append方法。那麽Stringbuffer轉換為String是怎麽轉換的,第一種方式就是利用Stringbuffer中的toString方法,第二種方式就是利用String的構造函數。代碼如下:

//        利用StringBuffer中的toString方法
        StringBuffer sb = new StringBuffer("www.abc.com");
        
        System.out.println(sb.toString());
        
//        利用String的構造函數
        String s = new String(sb);
        
        System.out.println(s);

以上說的是之間的轉換,對於Stringbuffer類,常用的操作方法有append,字符串反轉reverse,指定位置insert追加內容,刪除delete指定指引操作,代碼如下:

        StringBuffer sb = new StringBuffer("hello");
        
        System.out.println(sb.reverse());
        
        System.out.println(sb.reverse().indexOf("llo"));
        
        System.out.println(sb.insert(3, 3));
        
        System.out.println(sb.delete(3, 4));   

而Stringbuilder與Stringbuffer一樣,功能也相同,在Stringbuffer類中定義的方法都是synchronized進行同步定義,而Stringbuilder沒有進行同步定義,是異步方法,線程不安全。對於以上三種字符串操作,這裏做個簡單的總結:String類一旦聲明則不可改變,而其它是可以改變的,Stringbuffer提供的方法時同步方法,屬於安全線程操作。

java類庫字符串操作