Java之StringBuffer可變字串(值可以改變)
StringBuffer可變字串 == 》值可以改變
構造方法:
StringBuffer() : 建立一個空的可變字串物件
StringBuffer(String s) : 建立一個指定字面量的可變字串物件
方法:(具體查api文件)
append(任何型別的引數):把指定的引數拼接到當前字串的末尾。 不會生成新的字串物件
delete(int start,int end) : 刪除索引為start到end範圍的字串,含前不含後 (基本上帶start與end引數的都是含前不含後)
ex1:
/*
* 此程式碼建立了10個字串物件,對記憶體是極大的浪費
* 像這種需要頻繁的修改字串值的情況,不建議使用不可變字串:Stirng
* 建議使用可變字串:StringBuffer
* 可變字串的特點:每次修改值,不會建立新的物件
* 修改之後:從始至終都只有一個可變字串物件
*/
public class Demo{
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
for(int i = 0;i<10;i++){
sb.append(i + " ");
}
System.out.println(sb);
}
}
執行結果圖:
ex2:
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
System.out.println(sb);
StringBuffer sb2 = new StringBuffer("這是一個可變字串");
System.out.println(sb2);
//呼叫append方法但是沒有使用sb2來接收返回值。如果列印的值發生了變化,說明:是在本來的基礎上改變了值
sb2.append("+hello");
System.out.println(sb2);
//刪除sb2中索引0到索引3範圍的字串。注意:end引數要寫4
sb2.delete(0, 4);
System.out.println(sb2);
}
}
執行結果圖:
相關文章
- IOS筆記之可變字串iOS筆記字串
- Java靜態變數在靜態方法內部無法改變值Java變數
- vue 變數賦值同時改變的問題Vue變數賦值
- 時間可以改變一切
- java 方法呼叫,形參改變,實參是否發生改變Java
- iOS UIButton之改變有效點選區域(改變熱區)iOSUI
- 【Java】可變引數Java
- java安全編碼指南之:Mutability可變性Java
- 2.7.6 改變初始化引數值
- flutter之改變CupertinoSwitch的大小Flutter
- java 之泛型與可變引數詳解Java泛型
- java中a=a++值為什麼沒有改變?棧運算解析Java
- vue-element 選擇框 選擇值改變,顯示不變Vue
- js的哪些操作可以改變作用域鏈?JS
- js 改變 控制元件的屬性值JS控制元件
- 【layui】 laydate動態改變日期最小值UI
- Flutter之改變Widget透明度Flutter
- Java方法05:可變引數Java
- Java - 可變引數的使用Java
- 【重學Java】可變引數Java
- 《自然》:飲食可以改變你的免疫系統
- 通過String的不變性案例分析Java變數的可變性Java變數
- python改變單通道圖片的畫素值Python
- select通過onchange獲取每次改變的值
- tkinter中scale拖拉改變值控制元件(十一)控制元件
- Java記憶體模型FAQ(八)Final欄位如何改變它們的值Java記憶體模型
- Java的方法可變長引數Java
- 教你認識Java 可變引數Java
- 19、Overload和Override的區別。Overloaded的方法是否可以改變返回值的型別?IDE型別
- php 迴圈陣列引用傳值改變陣列本身的值PHP陣列
- [java基礎]之變數Java變數
- 2.7.6.1 關於改變初始化引數的值
- for while改變indexWhileIndex
- 改變行為
- java複習之 String,StringBuffer,StringBuilderJavaUI
- 2019之後,遊戲能改變世界嗎?遊戲
- 課時3:小插曲之變數和字串變數字串
- Python - 可變和不可變物件Python物件