?? 12_wrapper_class_day06.txt
字號:
包裝類
面向?qū)ο蟮幕A(chǔ)就是把所有事物當(dāng)成對象來看。
一部分是8種基本類型,一種就是對象類型。
8種基本類型它不是對象。java為什么要把基本類型的值保存下來,是基于性能的考慮。
基本數(shù)據(jù)類型不是面向?qū)ο蟮摹?
所以java為了彌補,給8種基本類型提供了包裝類,這些類都從Object繼承下來。
PrimitiveType WrapperClass
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
這些包裝類都定義在java.lang包下面。
java.lang.Integer
構(gòu)造方法
Integer(int value) //一個整形值
構(gòu)造一個新分配的 Integer 對象,它表示指定的 int 值。
Integer(String s) //包含整形數(shù)組的字符串
構(gòu)造一個新分配的 Integer 對象,它表示 String 參數(shù)所指示的 int 值。
常用方法
int intValue() 以 int 類型返回該 Integer 的值。
static int parseInt(String s) 將字符串參數(shù)作為有符號的十進(jìn)制整數(shù)。
Integer.parseInt(args[0]);//這樣就可以把一個參數(shù)轉(zhuǎn)換成一個整形數(shù)。
static int parseInt(String s, int radix)
使用第二個參數(shù)指定的基數(shù),將字符串參數(shù)解析為有符號的整數(shù)。
Integer.parseInt("12",8);//以8進(jìn)制的方式把"12"解析成整形值。結(jié)果:10
String toString()
返回一個表示該 Integer 值的 String 對象。
static String toString(int i)
返回一個表示指定整數(shù)的 String 對象。
static String toString(int i, int radix)
用第二個參數(shù)指定的基數(shù)返回第一個參數(shù)的字符串表示形式。
Integer.toString(10,8);答案:"12"
static Integer valueOf(int i)
返回一個表示指定的 int 值的 Integer 實例。
static Integer valueOf(String s)
返回保持指定的 String 的值的 Integer 對象。
static Integer valueOf(String s, int radix)
返回一個 Integer 對象,該對象中保持了用第二個參數(shù)提供的基數(shù)進(jìn)行分析時從指定的 String 中提取的值。
int->Integer
valueOf();new Integer(int i);
int -> String
Integer.toString();
Integer ->int
intValue();
Integer -> String
toString();//非靜態(tài)的。
String->int
Integer.paresInt(int i)
String -> Integer
new Integer(String s);valueOf();
Integer i1=5;<=>Integer i1=Integer.valueOf(5);
在jdk5.0里面這叫做“自動封箱”。
int i=5;Integer a=i;int b=i+a;
這里實際上是編譯器作了默默的處理。把Integer對象賦值給一個int值。
數(shù)值類型的不變模式
包裝類對象的值也是不可以被改變的也是使用了不變模式。
for(Integer i=0;i<10000;i++);
那么這個對象就產(chǎn)生了10000個垃圾。
那么Integer為什么不像String那樣定義兩個沒有緩沖區(qū)的對象StringBuffer StringBuilder。
也就是如果一個值需要頻繁的更改那么最好使用int。
對象池
對于這些數(shù)值類型,他們的對象池有個特點。
Integer i1=250;
Integer i2=250;
Integer i3=5;
Integer i4=5;
System.out.println(i1==i2);//false
System.out.println(i3==i4);//true
-128~127這段范圍內(nèi)是true,超出這個范圍是false;
這個對象池只在一個byte的范圍內(nèi)可以從對象池里面取,超出的都不會去取。
包裝類:
我們不得不使用一個對象的時候就需要用到包裝類。
1、集合
2、使用包裝類的意義。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -