静态常量

Integer.SIZE,Integer.BYTES

SIZE: Integer的长度,值为32,单位为位(bit)。
BYTES:Integer的字节数,值为8,单位为字节(byte)。

1字节byte = 8位bit

最大值MIN_VALUE和最小值MAX_VALUE

MIN_VALUE:0x80000000(16进制)= -(2的31次方) =-2147483648
MAX_VALUE:0x7fffffff(16进制)= 2的31次方-1 = 2147483647

TYPE Java类型

声明为Class<Integer>,所以可以直接使用类反射方法。如newInstance()。


构造方法

1 new Integer(int value);

将int型参数直接赋值给成员变量value;

2 new Integer(String s);

调用parseInt(String s, int radix)转换字符串为10进制数字,会抛出NumberFormatException。

普通方法

转成其他基本类型

int : intValue(),
byte: byteValue(),超过byte范围会符号取反。
short: shortValue()
float: floatValue(),
double: doubleValue(),
long: longValue()。

各种整数类型长度

类型 字节
int 4字节 32位 最大值2的31次方-1
short 2字节,int的0.5倍 16位 最大值2的15次方-1,32767
byte 1字节,short的0.5倍 8位 最大值2的7次方-1,127;
long 8字节,int的2倍 64位 最大值2的63次方-1,9223372036854775807

静态方法

parseInt() 和 valueOf()

parseInt返回int,valueOf返回Integer。

parseInt(String)和 valueOf(String)

将字符串转为10进制整数。

parseInt(String s, int radix)和 valueOf(String, radix)

radix:进制基数。
将字符串数字按radix进制转为10进制整数。
radix 范围,最小值2进制,最大值64进制
System.out.println("int :"+Integer.parseInt("1000", 2)); 
System.out.println("int :"+Integer.parseInt("B", 16));
System.out.println("int :"+Integer.parseInt("-B", 17));
System.out.println("Integer :"+Integer.valueOf(1));
System.out.println("Integer :"+Integer.valueOf("1"));
System.out.println("Integer :"+Integer.valueOf("B",16));

结果
int :8
int :11
int :-11
Integer :1
Integer :1
Integer :11

toString(String s, int radix)

跟parseInt()相同,结果为String类型。

decode(String s)

将字符串转为10进制
如果字符串以0X、0x或#开头,radix为16进制;
如果字符串以0开头,radix为8进制。

System.out.println(Integer.decode("0XA1"));//16进制,0X开头
System.out.println(Integer.decode("#A1"));//16进制,#开头
System.out.println(Integer.decode("032")); //8进制,0开头

结果:
0XA1 --> 161
0XA1 --> 161
032  --> 26

转为2进制toBinaryString()、8进制toOctalString()、16进制toHexString()

System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toOctalString(10));
System.out.println(Integer.toHexString(19));

结果:
1010
12
13

运算

compare(int a ,int b)比较大小
max()最大值
min()最小值
sum()求和


我有切糕
863 声望45 粉丝

Java架构师,技术经理