【Java】StringBuilder类、包装类
1 StringBuilder類
1.1 String的劣勢(shì)
String類中字符串是常量,創(chuàng)建后不能更改
//底層是final修飾的數(shù)組 private final byte[] value;字符串相加,內(nèi)存中會(huì)存在多個(gè)字符串,占用空間多,效率低下
1.2 StringBuilder的優(yōu)勢(shì)
StringBuilder是字符串緩沖區(qū),可以提高操作效率,數(shù)組長度可變,初始為16
底層是數(shù)組,沒有被final修飾,所以長度可變
在內(nèi)存中始終是一個(gè)數(shù)組,占用空間少,效率高,超出容量會(huì)自動(dòng)擴(kuò)容
1.3 構(gòu)造方法、append、reverse、toString方法
public class StringBuilderTest {public static void main(String[] args) {StringBuilder sb = new StringBuilder();System.out.println(sb);//空串sb.append("abc");//返回this 無需接收返回值System.out.println(sb);//abc//鏈?zhǔn)骄幊?#xff1a;方法的返回值是對(duì)象可以繼續(xù)調(diào)用對(duì)象的方法sb.append("a").append("b").append("c");System.out.println(sb);//abcabcsb.reverse();System.out.println(sb);//cbacba//String和StringBuilder的相互轉(zhuǎn)換toString//String --> StringBuilderString s = "zxc";StringBuilder sb2 = new StringBuilder(s);sb2.append("vbn");//StringBuilder --> StringString s2 = sb2.toString();System.out.println(s2);} }2 包裝類
2.1 概念
基本數(shù)據(jù)類型的數(shù)據(jù)沒有對(duì)應(yīng)的方法來操作數(shù)據(jù),使用包裝類包裝基本類型的數(shù)據(jù),定義一些方法來操作基本類型數(shù)據(jù)。
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
2.2 裝箱與拆箱
裝箱:把基本類型的數(shù)據(jù),包裝到包裝類中
構(gòu)造方法、靜態(tài)方法valueOf
拆箱:在包裝類中取出基本類型的數(shù)據(jù)
成員方法intValue
示例:
public class StringBuilderTest {public static void main(String[] args) {int num1 = 1;//裝箱//構(gòu)造方法Integer num2 = new Integer(num1);System.out.println(num2);//1 返回值而非地址說明重寫了toString//靜態(tài)方法Integer num3 = Integer.valueOf(num1);System.out.println(num3);//1 返回值而非地址說明重寫了toString//拆箱//成員方法int num4 = num3.intValue();System.out.println(num4);//1} }2.3 自動(dòng)拆箱和裝箱
JDK1.5之后,基本類型和包裝類型可以自動(dòng)相互轉(zhuǎn)換。
public class StringBuilderTest {public static void main(String[] args) {Integer num1 = 1;//相當(dāng)于Integer num2 = new Integer(1);//包裝類無法直接計(jì)算 會(huì)自動(dòng)拆箱轉(zhuǎn)化為基本類型然后計(jì)算 最后又自動(dòng)裝箱賦值給num3Integer num3 = num1 + num2;System.out.println(num3);//2//ArrayList無法直接存取整數(shù) 存取包裝類ArrayList<Integer> list = new ArrayList<>();//自動(dòng)裝箱list.add(1);//自動(dòng)拆箱int value = list.get(0);System.out.println(value);//1} }3 基本類型和字符串之間的轉(zhuǎn)換
字符串<—>基本類型
除Character外,靜態(tài)方法parseXxxx可以將字符串參數(shù)轉(zhuǎn)換為對(duì)應(yīng)的基本類型。
Xxxx.toString、Xxxx.valueOf、str+**""**可以將Xxxx包裝類拆箱后對(duì)應(yīng)的基本類型數(shù)據(jù)轉(zhuǎn)換為字符串
總結(jié)
以上是生活随笔為你收集整理的【Java】StringBuilder类、包装类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特征工程到底是什么?2019百度实习生招
- 下一篇: java.lang.NoClassDef