基本功能
Long 類在對象中包裝了基本類型 long 的值
每個 Long 類型的對象都包含一個 long 類型的字段
|
static long MAX_VALUE | long 8個字節 最大值2^63-1 十六進制: 0x8000000000000000L |
static long MIN_VALUE | 最小值-2^63 十六進制: 0x7fffffffffffffffL |
static int SIZE |
二進制補碼形式表示值時的位數
@Native public static final int SIZE = 64; 8個字節就是64位
|
static Class<Long> TYPE | 表示基本類型 long 的 Class 實例 |
方法分類
實例方法
由上面實例方法的依賴性也可以看得出來,Long類本身靜態方法的強大
靜態工具方法
特別注意:
value of 與new Long
valueOf就是根據指定的long或者String 返回一個Long對象
java.lang.Long.valueOf(long)是根本方法
可以看得出來,他會使用LongCache緩存256個對象(0~255)
靜態內部類,使用的時候,static塊中初始化
簡言之就是最核心是valueOf(long),在指定范圍內他是有緩存的,不在指定范圍內,那么將會創建對象 所以,如果可以,盡量不要使用new Long |
parseLong
從valueOf看得出來,帶參數的借助的都是parseLong parseLong是返回的long 基本數據類型,valueOf相當於他的裝箱形式(當然,valueOf還有使用緩存數據的功能) |
decode(String nm)
decode將字符串轉換為Long,聽起來好像跟valueOf 差不多 都是根據字符串轉變為Long對象 但是ValueOf要么指定基數要么就是默認十進制,而且不認識0X.#這種形式 decode不需要指定基數,可以根據字符串的前綴進行自己判斷基數,用起來比valueOf更加靈活 |
getLong
getLong根本就不是看起來的樣子
java.lang.Long.getLong(String)
java.lang.Long.getLong(String, long)
java.lang.Long.getLong(String, Long)
他只是valueOf的一個非常小的子集,僅僅是字符串為系統屬性的某個變量名時,才是可以用的 ,才是可以解析的
你傳入getLong("16"),根本不行
|