[二]基礎數據類型之Long詳解

 
Long
 
Long 基本數據類型long  的包裝類
Long 類型的對象包含一個 long類型的字段
 
image_5bab1d94_4380[4]
 
屬性簡介
 
值爲  263-1 的常量,它表示 long 類型可以表示的最大值 @Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
值爲 -263 的常量,它表示 long 類型可以表示的最小值 @Native public static final long MIN_VALUE = 0x8000000000000000L;
用來以二進制補碼形式表示 long 值的比特位數 @Native public static final int SIZE = 64;
二進制補碼形式表示 long 值的字節數 public static final int BYTES = SIZE / Byte.SIZE;
表示基本類型 long 的 Class 實例 public static final Class<Long>     TYPE = (Class<Long>) Class.getPrimitiveClass("long");
 
 
 
 
構造方法
 
構造方法都是新建立對象,分配新的空間
字符串形式構造,默認以十進制的字符串形式解析

包裝類
使用對應的基本數據類型long 構造java

image_5bab1d94_3c2e[4]

包裝類
使用對應的基本數據類型long 的字符串String形式構造

image_5bab1d94_7677[4]

 
 
 
經常使用方法
 
比較
static int compare(long x, long y)
靜態方法
0   x == y;
-1   x < y;
1    x > y
image_5bab1d94_44ce[4]
int compareTo(Long anotherLong)
實例方法
兩個對象進行比較   ,實際比較兩個對象的value值
根本仍是經過調用 static int compare(long x, long y)
image_5bab1d94_63a5[4]
static int compareUnsigned(long x, long y) 靜態方法
兩個基本類型int 當作無符號數進行比較   經過+MIN_VALUE進行轉換
根本仍是調用static int compare(long x, long y)

image_5bab1d94_253d[4]
 
 
parseXXX系列
字符串解析 爲 基本類型
不須要對象,因此都是靜態方法
image_5bab1d94_130b[4]

static long parseLong(String s, int radix)git

靜態方法
使用第二個參數指定的基數(進制),將字符串參數解析爲有符號的整數
除了第一個字符能夠是用來表示負值的 ASCII 減號 '-' ('\u002D’),加號'+' ('\u002B')  外
字符串中的字符必須都是指定基數的數字
web

static long parseLong(String s)數組

靜態方法
static long parseLong(String s, int radix) 的十進制簡化形式
image_5bab1d94_4b14[4]緩存

static long parseUnsignedLong(String s, int radix)
靜態方法
使用第二個參數指定的基數(進制),將字符串參數解析爲無符號的整數
除了第一個字符能夠是用來表示正值的 ASCII  加號'+' ('\u002B')  外
字符串中的字符必須都是指定基數的數字

static long parseUnsignedLong(String s)ide

靜態方法
static long parseUnsignedLong(String s, int radix)的十進制簡化形式

image_5bab1d94_1311[4] 函數

 
 
 
 
valueOf系列
把基本基本類型 包裝爲對象
用來建立得到對象,因此無需對象,全都是靜態方法
image_5bab1d94_7ef1[4]
 
VaueOf系列都有對應的緩存區, 緩存區範圍內對象爲同一個 
緩衝區爲靜態內部類中的數組
image_5bab1d94_408d[4]
 
緩衝範圍爲  -128~127

static Long valueOf(long l)spa

靜態方法
讀取緩存中的對象或者建立新的對象
image_5bab1d94_515c[4]3d

static Integer valueOf(String s, int radix)code

靜態方法
根據指定的基數(進制)解析字符串
根本是調用static Long valueOf(long l)
image_5bab1d94_57b7[4]

static Long valueOf(String s)

靜態方法
十進制 解析字符串
static Long valueOf(String s, int radix) 的十進制簡化形式
根本是調用static   Long valueOf(long l)

image_5bab1d94_2d40[4]

 
 
 
decode
接受經過如下語法給出的十進制、十六進制和八進制數字
Sign是可選的 表示符號位
再日後 DecimalNumeral  就是指定基數的字符序列的正值
不能是負數,想要設置負數請僅僅使用符號位 也就是+-1  --1這種確定不行
Sign DecimalNumeral
Sign 0x HexDigits
Sign 0X HexDigits
Sign # HexDigits
Sign 0 OctalDigits
Sign:
-
與Integer中的decode方法同樣
代碼也都如出一轍,除了Integer換成了Long
 
 
 
 
XXXValue系列
獲取對象的某種基本類型的值
須要獲取對象的因此必然所有都是實例方法
image_5bab1d94_7a0c[4]
強制類型轉換的形式,將內部的long 值轉換爲指定的類型
 
byte byteValue()
image_5bab1d94_55df[4]
short shortValue() image_5bab1d94_189f[4]
int intValue() image_5bab1d94_1aa5[4]
long longValue() image_5bab1d94_3e2f[4]
float floatValue() image_5bab1d94_4e72[4]
double doubleValue() image_5bab1d94_5f3[4]
 
 
 
toUnsignedString 系列   toString  toXXXString  系列
 
無符號  字符串相關的轉換
static String toString(long i, int radix)
靜態方法
根據指定基數,int    返回一個String 
若是基數小於 Character.MIN_RADIX 或者大於 Character.MAX_RADIX,默認設置爲基數 10
若是是負數 第一個符號位負號 '-' ('\u002D'),若是不是負數,將不會有符號
剩下的字符表示第一個參數的大小
若是大小是0  由字符  '0' ('\u0030') 表示,不然用來表示數值的第一個字符不會是0
 
用如下 ASCII 字符做爲數字:
0123456789abcdefghijklmnopqrstuvwxyz
其範圍是從 '\u0030' 到 '\u0039' 和從 '\u0061' 到 '\u007A'
若是 radix 爲 N, 則按照所示順序,使用這些字符中的前 N 個做爲其數字
所以,十六進制(基數爲 16)的數字是 0123456789abcdef
static String toString(long i)
靜態方法
toString(long i, int radix)的十進制簡化形式
同toString(long i, 10)
String toString()
實例方法
等同於把對象的value直接調用  toString(long i)
image_5bab1d94_5bbf[4]
static String toBinaryString(long i)
靜態方法
以二進制(基數 2)無符號整數形式返回一個整數參數的字符串表示形式
image_5bab1d94_5e4[4]
static String toOctalString(long i)
靜態方法
以八進制(基數 8)無符號整數形式返回一個整數參數的字符串表示形式
image_5bab1d94_638c[4]
static String toHexString(long i)
靜態方法
以十六進制(基數 16)無符號整數形式返回一個整數參數的字符串表示形式
image_5bab1d94_5a3b[4]
static String toUnsignedString(long i, int radix)
靜態方法
在第二個參數指定的基數中,返回第一個參數的字符串表示的無符號整數值
若是基數不在Character.MIN_RADIX 和 Character.MAX_RADIX的範圍內, 默認基數爲10
 
若是大小是0,由字符零表示   '0' ('\u0030')
不然第一個字符不會是 0 
基數和表示數字的字符的用法和表現和toString中同樣
static String toUnsignedString(long i) 靜態方法
toUnsignedString(long i, int radix) 十進制的簡化形式  同toUnsignedString(int, 10)
image_5bab1d94_1b69[4]
 
 
equals

Long重寫了equals方法
比較的是兩個Long對象中內部的 long value值
image_5bab1d94_2b9f[4]


hashCode
static int hashCode(long value)
靜態方法
返回某個long 數值的hashcode
image_5bab1d94_756a[4]
int hashCode() 實例方法
獲取某個Long對象的hashcode
等同於static int hashCode(long value) 調用 內部value值

image_5bab1d94_7b7[4]


getXXX系列 
獲取系統屬性的數值
 
static Long getLong(String nm, Long val) 
肯定具備指定名稱的系統屬性的整數值
 
第一個參數被視爲系統屬性的名稱
經過 System.getProperty(java.lang.String) 方法能夠訪問系統屬性
 
第二個參數是默認值
若是未具備指定名稱的屬性,或者屬性的數字格式不正確,或者指定名稱爲空或 null
則返回一個表示第二個參數的值的 Integer 對象
image_5bab1d94_24f2[4]
static Long getLong(String nm, long val) static Long getLong(String nm, Long val)  的基本類型形式
image_5bab1d94_274b[4]
static Long getLong(String nm)
image_5bab1d94_4ed9[4]

 
其餘方法

最高1  位  最低1   位
前置零個數 和 後置0個數
highestOneBit(long) / lowestOneBit(long)
numberOfLeadingZeros(long) / numberOfTrailingZeros(long)
位數
循環左移/循環右移
按位翻轉 按照字節翻轉
bitCount(long)  二進制補碼錶示形式中的 1 位的數量
rotateLeft(long, int)  / rotateRight(long, int)
reverse(long)   /  reverseBytes(long)
取整
求餘
divideUnsigned(long, long)
remainderUnsigned(long, long)
與Integer 同樣, Long也有提供上述幾個方法
語義一致
 
 
 
static int signum(long i) 靜態方法
返回指定 int 值的符號函數
(若是指定值爲負,則返回 -1;若是指定值爲零,則返回 0;若是指定的值爲正,則返回 1 )
image_5bab1d95_5650[4]
static long sum(long a, long b) 靜態方法
求和
image_5bab1d95_67b3[4]
static long max(long a, long b) 靜態方法
最大值
image_5bab1d95_15a2[4]
static long min(long a, long b) 靜態方法
最小值
image_5bab1d95_193b[4]
 
 
Long 與Integer 是數值類型中使用頻率最高的兩個,也是提供支持方法最多的兩個
他們提供出來的方法功能也是高度的類似
相關文章
相關標籤/搜索