轉自:
http://www.java265.com/JavaJingYan/202205/16528451213416.html
Integer:
Integer 資料型別是java中int的包裝型別
Integer 一個整型資料用來存盤整數,整數包括正整數,負整數和零,
整型常量采用十進制整數表示,如 1991,0,-123等等都是整型常量,而52.0或131.4都不是整型常量,
Integer 變數存盤為最接近編譯環境的長度,例如在32位的編譯環境下,Integer為32位,其范圍為 -2^15 到 2^15-1 之間
Long:
是java中的基礎型別,用于存盤數值
這兩種型別也是我們日常開發中,常用的資料型別,那么他們之間如何進行互相轉換呢?下文筆者將一一道來,如下所示
下文筆者講述Java中Long和Integer快取的簡介說明,如下所示:
先判斷下下面代碼的輸出結果 1:---------------------------------------------- Long a = Long.valueOf(127); Long b = Long.valueOf(127); System.out.println(a == b); 2:--------------------------------------------------- Long a = Long.valueOf(128); Long b = Long.valueOf(128); System.out.println(a == b); -------------------------------------------------------- 1:true 2:false
Long型別的原始碼
public static Long valueOf(long l) { final int offset = 128; if (l >= -128 && l <= 127) { // will cache return LongCache.cache[(int)l + offset]; } return new Long(l); } private static class LongCache { private LongCache(){} static final Long cache[] = new Long[-(-128) + 127 + 1]; static { for(int i = 0; i < cache.length; i++) cache[i] = new Long(i - 128); } } 從以上代碼上,我們可以看出 "-128到127間的值"放入到一個快取陣列中
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494192.html
標籤:其他
