Java 類型轉換細節

Java 類型轉換細節

這裏介紹的是在 Java 中不一樣數據類型之間轉化的一些比較基本的,可是又不容易肯定的問題。code

這裏以 byte 類型爲主,不少方法其實通用於 int long 這種類型。string

一些很是簡單,沒有迷惑性的東西,這裏就跳過了,這篇主要講的是在轉化中比較容易迷惑的問題。class

String 類型轉 Byte 類型數據類型

咱們都知道 String 類型的轉換其餘任意的基本數據類型,基本都有一個 XXX.valueOf() 方法。經過這個方法就能夠把 String 類型轉化爲 XXX 類型了。以 Byte 類型爲例。二進制

使用這個方法要注意:方法

  • String 類型要符合數據類型
  • String 的數不能超過 byte 類型的取值範圍(-128 -127)超過這個範圍就會拋出異常了。
  • Byte.valueOf(String string,int radix) 這個方法,這個方法的意思是,string 被當作是 radix 進制的數。好比 Byte.valueOf("10",16) 結果是 16
  • Byte.decode(String nm) 方法,這個方法是自動識別 nm 的進制的。nm 是 ox 、oX、# 開頭就認爲是 16 進制的數。 0 開頭就認爲是 8 進制的數值

長類型轉短類型(保留低字節)數據

以 int 轉 short 爲例子:咱們知道 int 是 4 個字節,shor 是 2 個字節。異常

咱們又知道這些數值在計算機中都是以二進制來儲存的。計算機

假如 int a = 65535 那麼在計算機中的存儲方式就是:0000FFFF(這裏方便起見用 16 進製表示)類型轉換

short s = (shor)a 這樣強制轉換,Java 會把 a 的高 2 個字節刪除,保留低 2 個字節給 s 因而 s 在計算機中就變成了 FF ,就是 -1 了。

相關文章
相關標籤/搜索