日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java基礎之StringBuffer詳解

瀏覽:43日期:2022-08-13 14:25:45
一、前言

StringBuffer是可變長的字符串

1.append 追加

2.delete 刪除

3.insert 插入

4.reverse 反轉

二、用法

String str1 = 'let there ';StringBuffer sb = new StringBuffer(str1); //根據str1創建一個StringBuffer對象sb.append('be light'); //在最后追加System.out.println(sb);sb.delete(4, 10);//刪除4-10之間的字符 不包括4,包括10System.out.println(sb);sb.insert(4, 'there ');//在4這個位置插入 there 在4的位置后面插入System.out.println(sb);sb.reverse(); //反轉 字符串的內容倒序System.out.println(sb);三、結果

let there be light let be light let there be light thgil eb ereht tel

注意:

對于插入insert和append

邊界條件判斷

插入之前,首先要判斷的是一些邊界條件,比如插入位置是否合法,插入的字符是否為空

擴容

1.要判斷是否需要擴容,如果插入的字符串加上原來的總長度超過了初始容量,就需要擴容。

2.數組的長度是固定且不能改變的,所以數組本身不支持擴容。這時需要其他方式解決問題------------------

根據需要插入的字符串的長度和已經存在的內容的長度,計算出一個新的容量,再根據這個容量創建一個新的數組,把原來數組中的內容復制到新的數組中,讓value這個引用指向新的數組,從而達到擴容的效果。

插入字符串

1.找到要插入字符串的位置,從這個位置開始,把原數據看成兩段,把后半段向后挪動一個距離,這個距離剛好是插入字符串的長度。

2.然后把要插入的數據,插入這個挪出來的,剛剛好的位置里。

修改length的值

最后修改length的值,是原來的值加上插入字符串的長度

insert(int, char)

參數是字符的insert方法,通過調用insert(int, String) 也就實現了。

append

追加,就是在最后位置插入。 所以不需要單獨開發方法,直接調用insert方法,就能達到最后位置插入的效果

四、長度 容量

和String內部是一個字符數組一樣,StringBuffer也維護了一個字符數組,但這個數組留有多余的長度,以便于在現有的數組上調用插入和追加,例如

String str = new StringBuffer('the'),//內部的字符數組的長度是19而不是3,如果追加的長度超過了19,就會分配一個新的數組,長度比原來多,把原來的數據復制到新的數組中,看上去數組長度就變長了

不同的JDK數量不一樣

五、IStringBuffer接口

public interface IStringBuffer {public void append(String str); //追加字符串public void append(char c); //追加字符public void insert(int pos,char b); //指定位置插入字符public void insert(int pos,String b); //指定位置插入字符串public void delete(int start); //從開始位置刪除剩下的public void delete(int start,int end); //從開始位置刪除結束位置-1public void reverse(); //反轉public int length(); //返回長度}六、value和capacity

value: 用于存放字符數組

capacity: 容量

無參構造方法: 根據容量初始化value

public class MyStringBuffer implements IStringBuffer{int capacity = 16;int length = 0;char[] value;public MyStringBuffer(){ value = new char[capacity];} @Overridepublic void append(String str) { // TODO Auto-generated method stub } @Overridepublic void append(char c) { // TODO Auto-generated method stub } @Overridepublic void insert(int pos, char b) { // TODO Auto-generated method stub } @Overridepublic void delete(int start) { // TODO Auto-generated method stub } @Overridepublic void delete(int start, int end) { // TODO Auto-generated method stub } @Overridepublic void reverse() { // TODO Auto-generated method stub } @Overridepublic int length() { // TODO Auto-generated method stub return 0; }}

以下是 StringBuffer 類支持的主要方法:

序號 方法描述 1 public StringBuffer append(String s) 將指定的字符串追加到此字符序列。 2 public StringBuffer reverse() 將此字符序列用其反轉形式取代。 3 public delete(int start, int end) 移除此序列的子字符串中的字符。 4 public insert(int offset, int i) 將 int 參數的字符串表示形式插入此序列中。 5 replace(int start, int end, String str) 使用給定 String 中的字符替換此序列的子字符串中的字符。

**注意:**String 類是不可改變的,所以你一旦創建了 String 對象,那它的值就無法改變了

string1.concat(string2);字符串連接

'我的名字是 '.concat('Runoob');

更常用的是使用’+’操作符來連接字符串,如:

'Hello,' + ' runoob' + '!'

Java 中 StringBuffer 和 String 是有一定的區別的,首先,String 是被 final 修飾的,他的長度是不可變的,就算調用 String 的 concat 方法,那也是把字符串拼接起來并重新創建一個對象,把拼接后的 String 的值賦給新創建的對象,而 StringBuffer 的長度是可變的,調用StringBuffer 的 append 方法,來改變 StringBuffer 的長度,并且,相比較于 StringBuffer,String 一旦發生長度變化,是非常耗費內存的!

String 長度大小不可變

StringBuffer 和 StringBuilder 長度可變

StringBuffer 線程安全 StringBuilder 線程不安全

StringBuilder 速度快

到此這篇關于Java基礎之StringBuffer詳解的文章就介紹到這了,更多相關java StringBuffer詳解內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品国产免费| 免费久久99精品国产自在现线| 亚洲一区日本| 久久xxxx精品视频| 国产精品婷婷| 蜜桃伊人久久| 日韩午夜视频在线| 青青草国产精品亚洲专区无| 日本精品一区二区三区在线观看视频| 蜜桃伊人久久| 少妇精品久久久一区二区| 日韩在线成人| 国产精品白浆| 欧美一级鲁丝片| 久久久久免费av| 亚洲作爱视频| 亚洲1区在线| 久久99影视| 欧美黄色网页| 制服诱惑一区二区| 日韩精品一级| 久久精品一本| 美女亚洲一区| 日韩精品午夜视频| 欧美1区二区| 亚洲四虎影院| 蜜臀久久久99精品久久久久久| 日韩中文字幕视频网| 欧美一区免费| 91偷拍一区二区三区精品| 久久夜夜操妹子| 麻豆精品91| 久久国产欧美日韩精品| 亚洲黄色免费av| 午夜影院一区| 日韩精品一级二级 | 高清不卡亚洲| 亚洲欧美日韩国产| 国产一精品一av一免费爽爽| 国产一区二区三区不卡av| 九一国产精品| 国产欧美日韩| 免费久久精品| 欧美日韩99| 日韩国产欧美在线播放| 精品欧美日韩精品| 亚洲成人日韩| 国产精选一区| 欧美特黄一级| 国产精品嫩模av在线| 久久久久国产精品一区三寸| 美女久久一区| 麻豆高清免费国产一区| 国产综合欧美| 国产精品白浆| 久久亚洲欧美| 色综合狠狠操| 亚州精品视频| 少妇久久久久| 日韩在线观看中文字幕| 中文一区一区三区高中清不卡免费| 视频精品一区二区| 精品成人18| 综合亚洲视频| 久久久久网站| 麻豆视频一区| 久久福利一区| 国产黄大片在线观看| 一区二区精品| 日本欧美不卡| 国产欧美精品久久| 尤物在线精品| 成人亚洲一区| 日本成人中文字幕| 久久美女性网| 国产精品videosex极品| 亚洲一区二区三区高清不卡| 国产精品成人a在线观看| 日韩 欧美一区二区三区| 亚洲一级网站| 久久精品伊人| 综合日韩在线| 亚洲在线网站| 视频福利一区| 国精品产品一区| 欧美亚洲网站| 中文字幕一区二区三区四区久久 | 欧美久久久网站| 好看的av在线不卡观看| 91欧美在线| 777久久精品| 国产午夜精品一区二区三区欧美 | 日本在线高清| 麻豆精品少妇| 欧美三级第一页| 蜜臀国产一区二区三区在线播放| 久久在线视频免费观看| 国产66精品| 美女久久久精品| 中文字幕日本一区二区| 九色精品91| 亚洲播播91| 国产aa精品| 国产精品日本一区二区不卡视频 | 久久高清国产| 九九综合九九| 亚洲a一区二区三区| 国产一区二区三区亚洲综合| 日韩高清一级| 亚洲久久视频| 日韩中文字幕av电影| 亚洲精品2区| 婷婷激情综合| 欧美日韩中文字幕一区二区三区 | 午夜久久福利| 蜜桃tv一区二区三区| 亚洲一级黄色| 欧美日韩四区| 久久国产精品久久久久久电车| 国产一区清纯| 群体交乱之放荡娇妻一区二区| 久久中文精品| 精品久久97| av最新在线| 中文字幕成在线观看| 六月婷婷综合| 久久精品电影| 欧美日韩三区| 免费成人在线观看| 日本不卡视频在线观看| 日本欧美一区二区| 国产日韩欧美一区二区三区| 欧美精品三级在线| 久久中文字幕一区二区| 国产一区调教| av亚洲一区二区三区| 欧美日韩国产v| 日韩精品久久久久久久电影99爱| 成人羞羞视频播放网站| 国产一区日韩一区| 国产精品日本欧美一区二区三区| 女人天堂亚洲aⅴ在线观看| 老色鬼久久亚洲一区二区| 亚洲日本国产| 国产精品久久久久久久久久齐齐| 久久不卡国产精品一区二区| 成人午夜在线| 欧美不卡高清| 亚洲综合色婷婷在线观看| 国产欧美一区二区色老头| 亚洲欧美久久| 日韩成人一级| sm捆绑调教国产免费网站在线观看| 亚洲欧美日韩国产综合精品二区| 欧美国产偷国产精品三区| 综合一区av| 麻豆网站免费在线观看| 国产福利电影在线播放| 五月婷婷亚洲| 亚洲精品系列| 欧美精品97| 日韩欧美一区二区三区免费观看| 午夜视频精品| 日本欧美在线| 国产精品久久久久久久免费观看| 电影天堂国产精品| 激情综合在线| 一区二区电影在线观看| 国产精品一区二区中文字幕| 国产精久久一区二区| 天堂√中文最新版在线| 亚洲综合精品四区| 国产亚洲精品精品国产亚洲综合| 国产在视频一区二区三区吞精| 婷婷丁香综合| 国产精品亚洲成在人线| 久久精品二区亚洲w码 | 久久99久久人婷婷精品综合| 久久91导航| 久久国产66| 国产精品一国产精品k频道56| 蜜桃成人精品| 亚洲精品伊人| 热三久草你在线| 亚洲精品自拍| 91免费精品| 亚洲精品大片| 99久久夜色精品国产亚洲1000部| 日韩av影院| 欧美aa国产视频| 国产精品久久久久9999高清| 欧美大黑bbbbbbbbb在线| 国产精品白丝av嫩草影院| 99国产精品久久久久久久成人热| 国产精品任我爽爆在线播放| 婷婷六月综合| 国产一区国产二区国产三区| 国产乱码精品一区二区三区亚洲人| 亚洲网站视频| 麻豆极品一区二区三区|