Integer內部組成解析,常用方法簡介以及使用註意事項說明 ...
Integer 基本數據類型int 的包裝類 Integer 類型的對象包含一個 int 類型的欄位
![image_5bad74d2_25ec image_5bad74d2_25ec](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084148745-2137039868.png)
屬性簡介
值為 2^31-1 的常量,它表示 int 類型能夠表示的最大值 | @Native public static final int MAX_VALUE = 0x7fffffff; |
值為 -2^31 的常量,它表示 int 類型能夠表示的最小值 | @Native public static final int MIN_VALUE = 0x80000000; |
用來以二進位補碼形式表示 int 值的比特位數 | @Native public static final int SIZE = 32; |
二進位補碼形式表示 int 值的位元組數 | public static final int BYTES = SIZE / Byte.SIZE; |
表示基本類型 int 的 Class 實例 | public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int"); |
構造方法
構造方法都是新創建對象,分配新的空間 字元串形式構造,預設以十進位的字元串形式解析包裝類 使用對應的基本數據類型int 構造 |
![]() |
包裝類 使用對應的基本數據類型int的字元串String形式構造 | ![]() |
常用方法
比較
parseXXX系列
字元串解析 為 基本類型, 不需要對象,所以都是靜態方法![image_5bad74d2_2e41 image_5bad74d2_2e41](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084151856-299836689.png)
valueOf系列
把基本基本類型 包裝為對象 用來創建獲得對象,所以無需對象,全都是靜態方法![image_5bad74d2_612e image_5bad74d2_612e](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084153075-1367353701.png)
![image_5bad74d2_259f image_5bad74d2_259f](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084153521-450876202.png)
decode
接受通過以下語法給出的十進位、十六進位和八進位數字 Sign是可選的 再往後就是指定基數的字元序列的正值,不能是負數,想要設置負數請僅僅使用符號位 也就是+-1 --1這種肯定不行 |
Sign DecimalNumeral Sign 0x HexDigits Sign 0X HexDigits Sign # HexDigits Sign 0 OctalDigits Sign: - + |
XXXValue系列
獲取對象的某種基本類型的值 需要獲取對象的所以必然全部都是實例方法![image_5bad74d2_2b7f image_5bad74d2_2b7f](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084156493-1133749412.png)
byte byteValue() | ![]() |
short shortValue() | ![]() |
int intValue() | ![]() |
long longValue() | ![]() |
float floatValue() | ![]() |
double doubleValue() | ![]() |
toUnsignedXXX 系列
無符號相關的轉換toString toXXXString 系列
根本都是為了轉換為字元串形式 內部有一個私有方法用於轉換為無符號形式![image_5bad74d3_20c8 image_5bad74d3_20c8](https://img2018.cnblogs.com/blog/897393/201809/897393-20180928084204121-843565497.png)
equals
Integer重寫了equals方法 比較的是兩個Integer對象中內部的 int value值 |
![]() |
hashCode
static int hashCode(int value) |
靜態方法 返回某個int 數值的hashcode ![]() |
int hashCode() | 實例方法 獲取某個Integer對象的hashcode 等同於static int hashCode(int value) 調用 內部value值 ![]() |
getXXX系列
獲取系統屬性的數值其他方法
最高1 位 最低1 位 前置零個數 和 後置0個數 |
highestOneBit(int) / lowestOneBit(int) numberOfLeadingZeros(int) / numberOfTrailingZeros(int) |
位數 迴圈左移/迴圈右移 按位翻轉 按照位元組翻轉 |
bitCount(int) 返回二進位補碼表示形式的 1 位的數量,不是全部位數 rotateLeft(int, int) / rotateRight(int, int) reverse(int) / reverseBytes(int) |
取整 求餘 |
divideUnsigned(int, int) remainderUnsigned(int, int) |