• 技术文章 >Java >java教程

    Java数据类型Long的详细分析

    不言不言2018-09-26 14:17:01原创5423
    本篇文章给大家带来的内容是关于Java数据类型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 构造
    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)

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

    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)

    静态方法
    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)

    静态方法
    读取缓存中的对象或者创建新的对象
    image_5bab1d94_515c[4]

    static Integer valueOf(String s, int radix)

    静态方法
    根据指定的基数(进制)解析字符串
    根本是调用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)

    取整
    求余

    pideUnsigned(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 是数值类型中使用频率最高的两个,也是提供支持方法最多的两个

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

    以上就是Java数据类型Long的详细分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java
    上一篇:Java实现图片与base64编码之间的互相转换(实例) 下一篇:springboot中scheduled任务调度的实现代码
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Mysql,Oracle,Java数据类型对应_MySQL• Java数据类型和MySql数据类型对照表• Mysql数据类型与Java数据类型的对应关系• Java数据类型与MySql数据类型对照表_MySQL• Java数据类型的规则• MongoDB支持的java数据类型和测试例子• Java数据类型及其转换&&经常用到的快捷键图文介绍• 比较Java数据类型与MySql数据类型• java数据类型简介• 谈谈有关Java数据类型中自动封装拆箱与实例分析
    1/1

    PHP中文网