• [三]基础数据类型之Integer详解


     
     
    Integer 基本数据类型int  的包装类
    Integer 类型的对象包含一个 int 类型的字段
    image_5bad74d2_25ec
     
     

    属性简介


    值为 2^31-1 的常量,它表示 int 类型能够表示的最大值 @Native public static final int   MAX_VALUE = 0x7fffffff;
    值为 -2^31 的常量,它表示 int 类型能够表示的最小值 @Native public static final int   MIN_VALUE = 0x80000000;
    用来以二进制补码形式表示 int 值的比特位数 @Native public static final int SIZE = 32;
    二进制补码形式表示 int 值的字节数 public static final int BYTES = SIZE / Byte.SIZE;
    表示基本类型 int 的 Class 实例 public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");
     
     

    构造方法

     
    构造方法都是新创建对象,分配新的空间
    字符串形式构造,默认以十进制的字符串形式解析
    包装类
    使用对应的基本数据类型int 构造
    image_5bad74d2_7bbd
    包装类
    使用对应的基本数据类型int的字符串String形式构造
    image_5bad74d2_535b
     
     

    常用方法

     

    比较

    static int compare(int x, int y)
    静态方法
    0   x == y;
    -1   x < y;
    1    x > y
    image_5bad74d2_2b3c
    int compareTo(Integer anotherInteger)
    实例方法
    两个对象进行比较   ,实际比较两个对象的value值
    根本调用通过static int compare(int x, int y)
    image_5bad74d2_999
    static int compareUnsigned(int x, int y) 静态方法
    两个基本类型int 当做无符号数进行比较   通过+MIN_VALUE进行转换
    根本是调用static int compare(int x, int y)

    image_5bad74d2_75f3
     

    parseXXX系列

    字符串解析 为 基本类型,
    不需要对象,所以都是静态方法
    image_5bad74d2_2e41
     
    static int parseInt(String s, int radix) 静态方法
    使用第二个参数指定的基数(进制),将字符串参数解析为有符号的整数
    除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('u002D’),加号'+' ('u002B')  外
    字符串中的字符必须都是指定基数的数字
    static int parseInt(String s) 静态方法
    static int parseInt(String s, int radix)  的十进制简化形式
    image_5bad74d2_1233
    static int parseUnsignedInt(String s, int radix)
    静态方法
    使用第二个参数指定的基数(进制),将字符串参数解析为无符号的整数
    除了第一个字符可以是用来表示正值的 ASCII 加号 '+' ('u002B’)外
    字符串中的字符必须都是指定基数的数字
    static int parseUnsignedInt(String s)  静态方法
    static int parseUnsignedInt(String s, int radix) 的十进制简化形式

    image_5bad74d2_70fd
     

    valueOf系列

    把基本基本类型 包装为对象
    用来创建获得对象,所以无需对象,全都是静态方法
    image_5bad74d2_612e
     
    VaueOf系列都有对应的缓存区, 缓存区范围内对象为同一个 
    缓冲区为静态内部类中的数组
    image_5bad74d2_259f
    缓冲范围为  -128~127
     
    static Integer valueOf(int i) 静态方法
    读取缓存中的对象或者创建新的对象
    image_5bad74d2_2931
    static Integer valueOf(String s, int radix)
    静态方法
    根据指定的基数(进制)解析字符串
    根本调用static Integer valueOf(int i)
    image_5bad74d2_3bf9
    static Integer valueOf(String s)
    静态方法
    十进制 解析字符串,   static Integer valueOf(String s, int radix) 的十进制简化形式
    根本调用static Integer valueOf(int i)
    image_5bad74d2_3a99
     

    decode

    接受通过以下语法给出的十进制、十六进制和八进制数字
    Sign是可选的 再往后就是指定基数的字符序列的正值,不能是负数,想要设置负数请仅仅使用符号位 也就是+-1  --1这种肯定不行
    Sign DecimalNumeral
    Sign 0x HexDigits
    Sign 0X HexDigits
    Sign # HexDigits
    Sign 0 OctalDigits
    Sign:
    -
    + 
     
     
     

    XXXValue系列

    获取对象的某种基本类型的值
    需要获取对象的所以必然全部都是实例方法
    image_5bad74d2_2b7f
    强制类型转换的形式,将内部的int值转换为指定的类型
     
    byte byteValue()
    image_5bad74d2_1d6c
    short shortValue() image_5bad74d3_18fa
    int intValue() image_5bad74d3_14be
    long longValue() image_5bad74d3_6ed6
    float floatValue() image_5bad74d3_6e50
    double doubleValue() image_5bad74d3_24ce
     

    toUnsignedXXX 系列

    无符号相关的转换
    static long toUnsignedLong(int x) 静态方法
    给定参数int转换为无符号的long
    无符号转换为long时,高32位为扩充为0,也就是零位扩展
    低32位同参数  int
    因此,0和int正数 与对应的long的值相同
    负数等于参数int+232
    image_5bad74d3_19ff
    static String toUnsignedString(int i, int radix)
    静态方法
    在第二个参数指定的基数中,返回第一个参数的字符串表示的无符号整数值
    如果基数不在Character.MIN_RADIX 和 Character.MAX_RADIX的范围内, 默认基数为10
     
    基数和表示数字的字符的用法和表现和toString中一样
    image_5bad74d3_222
    static String toUnsignedString(int i) 静态方法
    toUnsignedString(int, int) 十进制的简化形式  同toUnsignedString(int, 10)
    image_5bad74d3_3cb6
     

    toString  toXXXString  系列

     
    根本都是为了转换为字符串形式

    static String toString(int 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(int i)  静态方法
    toString(int i, int radix) 的十进制简化形式
    同toString(int i, 10)
    String toString() 实例方法
    等同于把对象的value直接调用  toString(int i)
    image_5bad74d3_c77
    static String toBinaryString(int i) 静态方法
    以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
    image_5bad74d3_5568
    static String toOctalString(int i) 静态方法
    以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式
    image_5bad74d3_6de3
    static String toHexString(int i) 静态方法
    以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式
    image_5bad74d3_36bc
     
    内部有一个私有方法用于转换为无符号形式
    image_5bad74d3_20c8
     

    equals


    Integer重写了equals方法
    比较的是两个Integer对象中内部的 int value值
    image_5bad74d3_628c
     

    hashCode

     
    static int hashCode(int value)
    静态方法
    返回某个int 数值的hashcode
    image_5bad74d3_7477
    int hashCode() 实例方法
    获取某个Integer对象的hashcode
    等同于static int hashCode(int value) 调用 内部value值
    image_5bad74d3_7446
     
     

    getXXX系列

    获取系统属性的数值
    static Integer getInteger(String nm, Integer val) 确定具有指定名称的系统属性的整数值

    第一个参数被视为系统属性的名称
    通过 System.getProperty(java.lang.String) 方法可以访问系统属性

    第二个参数是默认值
    如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null
    则返回一个表示第二个参数的值的 Integer 对象
    image_5bad74d3_6295
    static Integer getInteger(String nm, int val)
    getInteger(String nm, Integer val) 的便捷转换形式
    image_5bad74d3_6321
    static Integer getInteger(String nm) getInteger(String nm, int val)省略第二个参数的简化形式版本
    image_5bad74d3_106
     
     

    其他方法

     
     
    最高1  位  最低1   位
    前置零个数 和 后置0个数
    highestOneBit(int) / lowestOneBit(int)
    numberOfLeadingZeros(int) / numberOfTrailingZeros(int) 
    位数
    循环左移/循环右移
    按位翻转 按照字节翻转
    bitCount(int)     返回二进制补码表示形式的 1 位的数量,不是全部位数
    rotateLeft(int, int)  /  rotateRight(int, int)  
    reverse(int)   /   reverseBytes(int)   
    取整
    求余
    divideUnsigned(int, int)
    remainderUnsigned(int, int)
    Integer还提供了上面几个方法,在开篇中已经描述 Long也有提供   
    语义一致
     
     
     
    static int signum(int i)  静态方法
    返回指定 int 值的符号函数
    (如果指定值为负,则返回 -1;如果指定值为零,则返回 0;如果指定的值为正,则返回 1 )
    image_5bad74d3_2ec
    static int sum(int a, int b) 静态方法
    求和
    image_5bad74d3_7bea
    static int max(int a, int b) 静态方法
    最大值
    image_5bad74d3_2092
    static int min(int a, int b) 静态方法
    最小值
    image_5bad74d3_20a3
     
     
     
     
     
  • 相关阅读:
    java实现遍历树形菜单方法——service层
    Es 中一个分片一般设置多大
    Too Many Open Files的错误
    线程池队列满导致错误
    ES正在弱化type这个概念
    更新设置api
    遥控器 静音键 点播键
    Byzantine failures
    TGI指数
    墨菲定律(Murphy's Law)
  • 原文地址:https://www.cnblogs.com/noteless/p/9716675.html
Copyright © 2020-2023  润新知