Maison >Java >javaDidacticiel >Analyse détaillée du type de données Java Long

Analyse détaillée du type de données Java Long

不言
不言original
2018-09-26 14:17:019635parcourir

Ce que cet article vous apporte est une analyse détaillée du type de données Java Long. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Long

Long La classe d'emballage du type de données de base long

Type long L'objet contient un champ de type long

Analyse détaillée du type de données Java Long

Introduction à la propriété

tr>Représente une instance de classe de type de base long
值为  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     TYPE = (Class) Class.getPrimitiveClass("long");
Une constante avec une valeur de 263-1 , qui représente La valeur maximale que le type long peut représenter

@Native public static final long MAX_VALUE = 0x7ffffffffffffffffL
Une constante avec une valeur de -263, qui représente la valeur minimale que le type long peut représenter

@Native public static final long MIN_VALUE = 0x8000000000000000L;

Utiliser Pour représenter le nombre de bits d'une valeur longue sous la forme du complément à deux
@Native public static final int SIZE
包装类
使用对应的基本数据类型long 构造
Analyse détaillée du type de données Java Long

包装类

使用对应的基本数据类型long 的字符串String形式构造

Analyse détaillée du type de données Java Long
= 64;
Le nombre d'octets de la valeur longue sous forme de complément binaire public static final int BYTES = SIZE / Byte.SIZE
Classe finale statique publique< ;Long> TYPE = (Class) Class.getPrimitiveClass("long");
Méthodes de constructionLes méthodes de construction sont toutes des objets nouvellement créés, allouant un nouvel espace Construction de forme de chaîne, par défaut, elle est analysée au format de chaîne décimale
Wrapper class utilise le type de données de base correspondant long pour construire Analyse détaillée du type de données Java Long
Classe d'emballage utilise la forme String du type de données de base correspondant long Construction

常用方法

比较

short shortValue()
static int compare(long x, long y)
int compareTo(Long anotherLong)

静态方法

0   x == y;

-1   x

1    x > y

Analyse détaillée du type de données Java Long

static int compareUnsigned(long x, long y)
实例方法
两个对象进行比较   ,实际比较两个对象的value值
根本还是通过调用 static int compare(long x, long y)
Analyse détaillée du type de données Java Long
byte byteValue()
静态方法
两个基本类型int 当做无符号数进行比较   通过+MIN_VALUE进行转换
根本还是调用static int compare(long x, long y)

Analyse détaillée du type de données Java Long
静态方法 0   x == y ; -1   x 1    x > et Analyse détaillée du type de données Java Long
实例方法
两个对象进行比较   ,实际比较两个对象的value值
根本还是通过调用 static int compare(long x, long y)
Analyse détaillée du type de données Java Long
int intValue()
静态方法
两个基本类型int 当做无符号数进行比较   通过+MIN_VALUE进行转换
根本还是调用static int compare(long x, long y)
Analyse détaillée du type de données Java Long

série parseXXX

L'analyse de chaînes en types de base

ne nécessite pas d'objets, donc tous C'est une méthode statique

Analyse détaillée du type de données Java Long

static long parseLong (String s, int radix)

static long parseLong(String s, int radix)

静态方法
使用第二个参数指定的基数(进制),将字符串参数解析为有符号的整数
除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('u002D’),加号'+' ('u002B')  外
字符串中的字符必须都是指定基数的数字

static long parseLong(String s)

静态方法
static long parseLong(String s, int radix) 的十进制简化形式
Analyse détaillée du type de données Java Long

static long parseUnsignedLong(String s, int radix)

静态方法

使用第二个参数指定的基数(进制),将字符串参数解析为无符号的整数

除了第一个字符可以是用来表示正值的 ASCII  加号'+' ('u002B')  外

字符串中的字符必须都是指定基数的数字

static long parseUnsignedLong(String s)

静态方法
static long parseUnsignedLong(String s, int radix)的十进制简化形式

Analyse détaillée du type de données Java Long
Méthode statique
Utilisez la base (base) spécifiée par le deuxième paramètre), analyse l'argument de chaîne comme un entier signé
Sauf que le premier caractère peut être le signe moins ASCII '-' ('u002D'), le signe plus '+' ('u002B') utilisé pour représenter les valeurs négatives ) Externe
Les caractères de la chaîne doivent tous être des nombres dans la base spécifiée

static long parseLong(String s)

Méthode statique
La forme décimale simplifiée du long parseLong statique (String s, int radix)
Analyse détaillée du type de données Java Long

static long parseUnsignedLong(String s, int radix )

Statique méthode

Utilisez la base (base) spécifiée par le deuxième paramètre pour analyser les paramètres de chaîne en entiers non signés

Sauf le premier Les caractères peuvent être le signe ASCII plus '+' ('u002B') utilisé pour représenter des valeurs positives

Les caractères de la chaîne doivent être des nombres dans la base spécifiée td>

analyse longue statiqueUnsignedLong(String s)

Méthode statique
static long parseUnsignedLong( String s, int radix) forme décimale simplifiée
Analyse détaillée du type de données Java Long

valueOf series

Encapsule les types primitifs de base dans des objets

est utilisé pour créer et obtenir objets , donc aucun objet n'est nécessaire, toutes sont des méthodes statiques

Analyse détaillée du type de données Java Long

La série VaueOf a une zone de cache correspondante et des objets dans la zone de cache Pour le même tampon

se trouve un tableau dans une classe interne statique

Analyse détaillée du type de données Java Long

La plage de tampon est de -128 à 127

static Long valueOf(long l)

static Long valueOf(long l)

静态方法
读取缓存中的对象或者创建新的对象
Analyse détaillée du type de données Java Long

static Integer valueOf(String s, int radix)

静态方法
根据指定的基数(进制)解析字符串
根本是调用static Long valueOf(long l)
Analyse détaillée du type de données Java Long

static Long valueOf(String s)


静态方法
十进制 解析字符串
static Long valueOf(String s, int radix) 的十进制简化形式
根本是调用static   Long valueOf(long l)

Analyse détaillée du type de données Java Long

Méthode statique
lire depuis l'objet cache ou créer un nouvel objet
Analyse détaillée du type de données Java Long

Valeur entière statiqueOf(String s, base int)

接受通过以下语法给出的十进制、十六进制和八进制数字

Sign是可选的 表示符号位

再往后 DecimalNumeral  就是指定基数的字符序列的正值

不能是负数,想要设置负数请仅仅使用符号位 也就是+-1  --1这种肯定不行

Sign DecimalNumeral

Sign 0x HexDigits

Sign 0X HexDigits

Sign # HexDigits

Sign 0 OctalDigits

Sign:

-

与Integer中的decode方法一样
代码也都一模一样,除了Integer换成了Long
Méthode statique
Selon la chaîne d'analyse de base (base) spécifiée
Appelle essentiellement statique Long valueOf(long l)
Analyse détaillée du type de données Java Long

static Long valueOf(String s)


méthode statique
decimal Analyser la forme décimale simplifiée d'une chaîne
static Long valueOf(String s, int radix)
Appelle essentiellement static Long valueOf(long l)
Analyse détaillée du type de données Java Long
decode

Accepter Passé La syntaxe suivante donne des nombres décimaux, hexadécimaux et octaux

Le signe est facultatif pour représenter le bit de signe

puis DecimalNumeral C'est la valeur positive de la séquence de caractères qui spécifie la base

ne peut pas être un nombre négatif. Si vous souhaitez définir un nombre négatif, veuillez simplement utiliser le bit de signe, qui est +-1 --1. Cela ne fonctionnera certainement pas

Signe DecimalNumeral

Signe 0x HexDigits

Signe 0X HexDigits

Signe # HexDigits

Signe 0 Chiffres octaux

Signe :

-

+

Identique à la méthode de décodage en Integer
Les codes sont également exactement les mêmes, sauf que Integer est remplacé par Long

XXXValue系列

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

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

Analyse détaillée du type de données Java Long

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

byte byteValue()


Analyse détaillée du type de données Java Long
short shortValue()
Analyse détaillée du type de données Java Long
int intValue()
Analyse détaillée du type de données Java Long
long longValue()
Analyse détaillée du type de données Java Long
float floatValue()
Analyse détaillée du type de données Java Long
double doubleValue()
Analyse détaillée du type de données 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)

Analyse détaillée du type de données Java Long

static String toBinaryString(long i)

静态方法

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

Analyse détaillée du type de données Java Long

static String toOctalString(long i)

静态方法

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

Analyse détaillée du type de données Java Long

static String toHexString(long i)

静态方法

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

Analyse détaillée du type de données 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)
Analyse détaillée du type de données Java Long

equals


Long重写了equals方法
比较的是两个Long对象中内部的 long value值
Analyse détaillée du type de données Java Long

hashCode


static int hashCode(long value)
静态方法
返回某个long 数值的hashcode
Analyse détaillée du type de données Java Long
int hashCode()
实例方法
获取某个Long对象的hashcode
等同于static int hashCode(long value) 调用 内部value值

Analyse détaillée du type de données Java Long

getXXX系列 

获取系统属性的数值

static Long getLong(String nm, Long val)

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

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

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

第二个参数是默认值

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

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

Analyse détaillée du type de données Java Long
static Long getLong(String nm, Long val)
static Long getLong(String nm, Long val)  的基本类型形式
Analyse détaillée du type de données Java Long
static Long getLong(String nm)

Analyse détaillée du type de données 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 )
Analyse détaillée du type de données Java Long
static long sum(long a, long b)
静态方法
求和
Analyse détaillée du type de données Java Long
static long max(long a, long b)
静态方法
最大值
Analyse détaillée du type de données Java Long
static long min(long a, long b)
静态方法
最小值
Analyse détaillée du type de données Java Long

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn