包裝類與字符串簡述

包裝類


基本數據類型 所佔字節 包裝類
byte 1個字節 Byte
short 2個字節 Short
int 4個字節 Integer
long 8個字節 Long
float 4個字節 Float
double 8個字節 Double
char 2個字節 Character
boolean 不確定 Boolean
數據的裝箱和拆箱
  • 裝箱:將基本數據類型包裝成引用類型
  • 拆箱:將引用類型裝換成基本數據類型
package waking.test.jh;
/**
 * 數據的裝箱和拆箱
 * @author waking
 *
 */
public class Demo07 {
	public static void main(String[] args) {
		int num = 1;
		Integer n = 1;
		
		//裝箱
		System.out.println(Integer.valueOf(num));//1
		
		//拆箱
		System.out.println(n.intValue());//1
	}
}

  • 基本數據類型和包裝類互轉還有很多方法,但大同小異

字符串

  • String,是引用類型,底層是char[]
字符串常量:
	字符串數據是常量,存儲在常量池中,常量池中不允許存儲相同的數據,字符串可以直接將數據賦值給對象引用
	常量池的位置:jdk1.7之前,常量池的位置(jvm hotspot永久代)在中,jdk1.7(包括1.7)之後,常量池放在堆中。(方法區是Java SE規範中的一個概念)
	字符串類型是不可變的,指的是原來指向的數據沒有變化,而是新開闢一個空間
	字符串傳值方式和基本類型一致
  • 內存分配:字符串實際數據存在串池中
  • 字符串的方法有很多,可以觀看API
StringBuffer
  • StringBuffer類是String的增強類,比如:插入、追加、替換功能更加強大,比字符串更加節省內存
package waking.test.jh;
/**
 * StringBuffer類
 * @author waking
 *
 */
public class Demo08 {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		//追加
		sb.append("waking");
		sb.append(false);
		sb.append('c');
		sb.append(110);
		
		System.out.println(sb);//wakingfalsec110
		//刪除
		sb.delete(0, 1);
		System.out.println(sb);//akingfalsec110
		
	}
}
StringBuilder
  • StringBuilder類也是字符串緩衝區,類中的方法與StringBuffer類中的方法使用方法一樣
  • 區別在於StringBuilder類中的方法都是線程不安全的,而StringBuffer類中的方法都是線程安全
  • StringBuilder效率比StringBuffer的高
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章