Integer 基本数据类型int 的包装类
Integer 类型的对象包含一个 int 类型的字段
属性简介
值为 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 构造 |
 |
包装类
使用对应的基本数据类型int的字符串String形式构造
|
|
经常使用方法
比较
static int compare(int x, int y) |
静态方法
0 x == y;
-1 x < y;
1 x > y
|
int compareTo(Integer anotherInteger)
|
实例方法 两个对象进行比较 ,实际比较两个对象的value值 根本调用经过static int compare(int x, int y)
 |
static int compareUnsigned(int x, int y) |
静态方法 两个基本类型int 当作无符号数进行比较 经过+MIN_VALUE进行转换 根本是调用static int compare(int x, int y)
|
parseXXX系列
字符串解析 为 基本类型,
不须要对象,因此都是静态方法
static int parseInt(String s, int radix) |
静态方法 使用第二个参数指定的基数(进制),将字符串参数解析为有符号的整数 除了第一个字符能够是用来表示负值的 ASCII 减号 '-' ('\u002D’),加号'+' ('\u002B') 外 字符串中的字符必须都是指定基数的数字 |
static int parseInt(String s) |
静态方法 static int parseInt(String s, int radix) 的十进制简化形式
 |
static int parseUnsignedInt(String s, int radix) |
静态方法
使用第二个参数指定的基数(进制),将字符串参数解析为无符号的整数
除了第一个字符能够是用来表示正值的 ASCII 加号 '+' ('\u002B’)外
字符串中的字符必须都是指定基数的数字
|
static int parseUnsignedInt(String s) |
静态方法 static int parseUnsignedInt(String s, int radix) 的十进制简化形式
|
valueOf系列
把基本基本类型 包装为对象
用来建立得到对象,因此无需对象,全都是静态方法
VaueOf系列都有对应的缓存区, 缓存区范围内对象为同一个
缓冲区为静态内部类中的数组
缓冲范围为 -128~127
decode
接受经过如下语法给出的十进制、十六进制和八进制数字
Sign是可选的 再日后就是指定基数的字符序列的正值,不能是负数,想要设置负数请仅仅使用符号位 也就是+-1 --1这种确定不行
|
Sign DecimalNumeral
Sign 0x HexDigits
Sign 0X HexDigits
Sign # HexDigits
Sign 0 OctalDigits
Sign:
-
+
|
XXXValue系列
获取对象的某种基本类型的值
须要获取对象的因此必然所有都是实例方法
强制类型转换的形式,将内部的int值转换为指定的类型
toUnsignedXXX 系列
无符号相关的转换
static long toUnsignedLong(int x) |
静态方法 给定参数int转换为无符号的long 无符号转换为long时,高32位为扩充为0,也就是零位扩展 低32位同参数 int 所以,0和int正数 与对应的long的值相同 负数等于参数int+232
 |
static String toUnsignedString(int i, int radix) |
静态方法
在第二个参数指定的基数中,返回第一个参数的字符串表示的无符号整数值
若是基数不在Character.MIN_RADIX 和 Character.MAX_RADIX的范围内, 默认基数为10
基数和表示数字的字符的用法和表现和toString中同样
 |
static String toUnsignedString(int i) |
静态方法 toUnsignedString(int, int) 十进制的简化形式 同toUnsignedString(int, 10)
|
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)
 |
static String toBinaryString(int i) |
静态方法 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
 |
static String toOctalString(int i) |
静态方法 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式
 |
static String toHexString(int i) |
静态方法 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式
|
内部有一个私有方法用于转换为无符号形式
equals
Integer重写了equals方法 比较的是两个Integer对象中内部的 int value值 |
|
hashCode
static int hashCode(int value) |
静态方法 返回某个int 数值的hashcode
 |
int hashCode() |
实例方法 获取某个Integer对象的hashcode 等同于static int hashCode(int value) 调用 内部value值
|
getXXX系列
获取系统属性的数值
static Integer getInteger(String nm, Integer val) |
肯定具备指定名称的系统属性的整数值
第一个参数被视为系统属性的名称 经过 System.getProperty(java.lang.String) 方法能够访问系统属性
第二个参数是默认值 若是未具备指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null 则返回一个表示第二个参数的值的 Integer 对象
 |
static Integer getInteger(String nm, int val) |
getInteger(String nm, Integer val) 的便捷转换形式
 |
static Integer getInteger(String nm) |
getInteger(String nm, int val)省略第二个参数的简化形式版本
|
其余方法
最高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 )
 |
static int sum(int a, int b) |
静态方法 求和
 |
static int max(int a, int b) |
静态方法 最大值
 |
static int min(int a, int b) |
静态方法 最小值
|