首頁  >  文章  >  Java  >  Java資料類型Long的詳細分析

Java資料類型Long的詳細分析

不言
不言原創
2018-09-26 14:17:019540瀏覽

 這篇文章帶給大家的內容是關於Java資料類型Long的詳細分析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

Long

Long 基本資料類型 long  的包裝類別

Long 類型的物件包含一個long類型的欄位

Java資料類型Long的詳細分析

#屬性簡介

值為  263-1 的常數,它表示long 類型能夠表示的最大值 ##@Native public static final long MAX_VALUE = 0x7ffffffffffffffL;
值為-263 的常數,它表示long 類型能夠表示的最小數值 @Native public static final long MIN_VALUE = 0x8000000000000000L;


@Native public static final int public static final Class    
##二進位補碼形式表示long 值的位元位數
SIZE = 64; Java資料類型Long的詳細分析
#二進位補碼形式表示long 值的位元組數

#public static final int

BYTES = SIZE / Byte.SIZE;

Java資料類型Long的詳細分析表示基本型別long 的Class 實例
TYPE### =#TYPE### = (Class) Class.getPrimitiveClass("long");#########################建構方法###################################################################### ######建構方法都是新建立物件,分配新的空間############字串形式建構,預設以十進位的字串形式解析######## #################包裝類別###使用對應的基本資料型別 long 建構 ################### ################包裝類別 ############使用對應的基本資料型別long 的字串String形式建構 ######## ###########################

常用方法

比較

static int compare(long x, long y)

# 靜態方法

#0   x == y;

#-1   x

#1    x > y

Java資料類型Long的詳細分析

int compareTo(Long anotherLong)
實例方法
兩個物件進行比較   ,實際比較兩個物件的value值
根本還是透過呼叫static int compare(long x, long y)
Java資料類型Long的詳細分析
static int compareUnsigned(long x, long y)
#靜態方法
兩個基本型別int 當做無符號數進行比較   透過MIN_VALUE轉換
根本還是呼叫static int compare(long x, long y)

Java資料類型Long的詳細分析
#

parseXXX系列

字串解析為基本型別

不需要物件,所以都為靜態方法

Java資料類型Long的詳細分析

valueOf系列

把基本基本型別包裝成物件

用來建立取得對象,所以無需對象,全都是靜態方法

Java資料類型Long的詳細分析

#VaueOf系列都有對應的快取區, 快取區範圍內對象為同一個 

緩衝區為靜態內部類別中的陣列

Java資料類型Long的詳細分析

緩衝範圍為  -128~127

static long parseLong(String s, int radix)

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

static long parseLong(String s)

靜態方法
static long parseLong(String s, int radix) 的十進位簡化形式
Java資料類型Long的詳細分析
##static long parseUnsignedLong(String s, int radix)


#靜態方法

使用第二個參數指定的基數(進位),將字串參數解析為無符號的整數

#除了第一個字元可以是用來表示正值的ASCII  加號' ' ( '\u002B')  外

字串中的字元必須都是指定基數的數字

static long parseUnsignedLong(String s)


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

Java資料類型Long的詳細分析

#static Long valueOf(long l)

##靜態方法
讀取快取中的物件或建立新的物件
Java資料類型Long的詳細分析

#static Integer valueOf(String s, int radix)

##的方法依據指定的基數(進位)解析字串
根本是呼叫static Long valueOf(long l)

Java資料類型Long的詳細分析
static Long valueOf(String s)



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

Java資料類型Long的詳細分析

##decode

接受以下語法給予的十進位、十六進位和八進位數字

Sign是可選的表示符號位元

再往後DecimalNumeral  就是指定基數的字元序列的正值

不能是負數,想要設定負數請只用符號位元也就是-1  --1這種肯定不行

#Sign DecimalNumeral

Sign 0x HexDigits

Sign 0X HexDigits

##Sign # HexDigits

Sign 0 OctalDigits

Sign:

-


######################################################################################################################################################### # ####################與Integer中的decode方法一樣###程式碼也都一模一樣,除了Integer換成了Long######### ######

XXXValue系列

获取对象的某种基本类型的值

需要获取对象的所以必然全部都是实例方法

Java資料類型Long的詳細分析

强制类型转换的形式,将内部的long 值转换为指定的类型

byte byteValue()


Java資料類型Long的詳細分析
short shortValue()
Java資料類型Long的詳細分析
int intValue()
Java資料類型Long的詳細分析
long longValue()
Java資料類型Long的詳細分析
float floatValue()
Java資料類型Long的詳細分析
double doubleValue()
Java資料類型Long的詳細分析


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)

Java資料類型Long的詳細分析

static String toBinaryString(long i)

静态方法

以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式

Java資料類型Long的詳細分析

static String toOctalString(long i)

静态方法

以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式

Java資料類型Long的詳細分析

static String toHexString(long i)

静态方法

以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式

Java資料類型Long的詳細分析

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)
Java資料類型Long的詳細分析

equals


Long重写了equals方法
比较的是两个Long对象中内部的 long value值
Java資料類型Long的詳細分析

hashCode


static int hashCode(long value)
静态方法
返回某个long 数值的hashcode
Java資料類型Long的詳細分析
int hashCode()
实例方法
获取某个Long对象的hashcode
等同于static int hashCode(long value) 调用 内部value值

Java資料類型Long的詳細分析

getXXX系列 

获取系统属性的数值

static Long getLong(String nm, Long val)

确定具有指定名称的系统属性的整数值

第一个参数被视为系统属性的名称

通过 System.getProperty(java.lang.String) 方法可以访问系统属性

第二个参数是默认值

如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null

则返回一个表示第二个参数的值的 Integer 对象

Java資料類型Long的詳細分析
static Long getLong(String nm, Long val)
static Long getLong(String nm, Long val)  的基本类型形式
Java資料類型Long的詳細分析
static Long getLong(String nm)

Java資料類型Long的詳細分析

其他方法

最高1  位  最低1   位
前置零个数 和 后置0个数

highestOneBit(long) / lowestOneBit(long)

numberOfLeadingZeros(long) / numberOfTrailingZeros(long)

位数
循环左移/循环右移
按位翻转 按照字节翻转


bitCount(long)  二进制补码表示形式中的 1 位的数量

rotateLeft(long, int)  / rotateRight(long, int)

reverse(long)   /  reverseBytes(long)

取整
求余

pideUnsigned(long, long)

remainderUnsigned(long, long)

与Integer 一样, Long也有提供上述几个方法

语义一致

static int signum(long i)
静态方法
返回指定 int 值的符号函数
(如果指定值为负,则返回 -1;如果指定值为零,则返回 0;如果指定的值为正,则返回 1 )
Java資料類型Long的詳細分析
static long sum(long a, long b)
静态方法
求和
Java資料類型Long的詳細分析
static long max(long a, long b)
静态方法
最大值
Java資料類型Long的詳細分析
static long min(long a, long b)
静态方法
最小值
Java資料類型Long的詳細分析

Long 与Integer 是数值类型中使用频率最高的两个,也是提供支持方法最多的两个

他们提供出来的方法功能也是高度的相似

以上是Java資料類型Long的詳細分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn