1)、在setGrade方法中做判斷,不符合格式要求就拋出異常;
2)、直接限定用戶(hù)的選擇,通過(guò)自定義類(lèi)模擬枚舉的方式來(lái)限定用戶(hù)的輸入,寫(xiě)一個(gè)Grade類(lèi),私有構(gòu)造函數(shù),對(duì)外提供5個(gè)靜態(tài)的常量表示類(lèi)的實(shí)例;
3)、jdk5中新定義了枚舉類(lèi)型,專(zhuān)門(mén)用于解決此類(lèi)問(wèn)題;
4)、枚舉就是一個(gè)特殊的java類(lèi),可以定義屬性、方法、構(gòu)造函數(shù)、實(shí)現(xiàn)接口、繼承類(lèi);
------------------------------------------------------------------------------
自動(dòng)拆裝箱:java中數(shù)據(jù)類(lèi)型分為兩種 : 基本數(shù)據(jù)類(lèi)型 引用數(shù)據(jù)類(lèi)型(對(duì)象)
在 java程序中所有的數(shù)據(jù)都需要當(dāng)做對(duì)象來(lái)處理,針對(duì)8種基本數(shù)據(jù)類(lèi)型提供了包裝類(lèi),如下:
int --> Integer
byte --> Byte
short --> Short
long --> Long
char --> Character
double --> Double
float --> Float
boolean --> Boolean
jdk5以前基本數(shù)據(jù)類(lèi)型和包裝類(lèi)之間需要互轉(zhuǎn):
基本---引用 Integer x = new Integer(x);
引用---基本 int num = x.intValue();
1)、Integer x = 1; x = x + 1; 經(jīng)歷了什么過(guò)程?裝箱 à 拆箱 à 裝箱;
2)、為了優(yōu)化,虛擬機(jī)為包裝類(lèi)提供了緩沖池,Integer池的大小 -128~127 一個(gè)字節(jié)的大小;
3)、String池:Java為了優(yōu)化字符串操作 提供了一個(gè)緩沖池;
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):http://java.itheima.com/