Java在運作上還是會將基本型別轉換成物件
透過自動封箱(autoboxing)將基本型別轉換成外覆類別
Java在class的data member為基本型別時會給予預設值
但在區域變數則不成立並會引發錯誤
所以在建立基本型別的物件時最好還是給訂初始值
基本型別 大小 外覆類型 預設值
boolean - Boolean false
char 16-bit Character '\u0000'(null)
byte 8-bit Byte (byte)0
short 16-bit Short (short)0
int 32-bit Integer 0
long 64-bit Long 0L
float 32-bit Float 0.0f
double 64-bit Double 0.0d
高精度數值
BigInteger - 提供的整數支援任意精度,可以很精確的表達任意長度的整數數值
BigDecimal - 提供任意精度的定點數,在需要精確小數點後計算的場合中適用
高精度的以上兩個類別雖然可以被視為外覆類別,但沒有對應的基本型別
在int或float型別能做到的在這兩個型別也能做到
只是必須以函式叫用方式取代基本型別的運算子,且速度比較慢
屬於以速度換取精度
透過自動封箱(autoboxing)將基本型別轉換成外覆類別
Java在class的data member為基本型別時會給予預設值
但在區域變數則不成立並會引發錯誤
所以在建立基本型別的物件時最好還是給訂初始值
基本型別 大小 外覆類型 預設值
boolean - Boolean false
char 16-bit Character '\u0000'(null)
byte 8-bit Byte (byte)0
short 16-bit Short (short)0
int 32-bit Integer 0
long 64-bit Long 0L
float 32-bit Float 0.0f
double 64-bit Double 0.0d
高精度數值
BigInteger - 提供的整數支援任意精度,可以很精確的表達任意長度的整數數值
BigDecimal - 提供任意精度的定點數,在需要精確小數點後計算的場合中適用
高精度的以上兩個類別雖然可以被視為外覆類別,但沒有對應的基本型別
在int或float型別能做到的在這兩個型別也能做到
只是必須以函式叫用方式取代基本型別的運算子,且速度比較慢
屬於以速度換取精度
留言
張貼留言