17、常用类——Integer 类

包装类

基本类型:boolean、char、double、float、byte、short、int、long
包装类类型:Boolean、Character、Double、Float、Byte、Short、Integer、Long

构造方法

public Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值
参数:value - Integer 对象表示的值

常用方法

public static String toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
参数:i - 要转换为字符串的整数
返回:用二进制(基数 2)参数表示的无符号整数值的字符串表示形式

public static String toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式
参数:i - 要转换成字符串的整数
返回:用八进制参数(基数 8)表示的无符号整数值的字符串表示形式

public static String toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式
参数:i - 要转换成字符串的整数
返回:参数的十六进制(基数 16)无符号整数值的字符串表示形式
例如:

System.out.println(Integer.toBinaryString(100));
System.out.println(Integer.toOctalString(100));
System.out.println(Integer.toHexString(100));

public int intValue()
以 int 类型返回该 Integer 的值
指定者:类 Number 中的 intValue
返回:转换为 int 类型后该对象表示的数值

public static int parseInt(String s) throws NumberFormatException
将字符串参数作为有符号的十进制整数进行解析
参数:s - 包含要解析的 int 表示形式的 String
返回:用十进制参数表示的整数值

public static String toString(int i,int radix)
十进制转化为其他进制
参数:i - 十进制整数、radix - 其他进制数(最大值为36)
返回:使用其他进制数的字符串表示形式

public static int parseInt(String s,int radix)throws NumberFormatException
使用第二个参数指定的基数,将字符串参数解析为有符号的整数
参数: s - 要被解析的字符串、radix - 其他进制数
返回:十进制数
例如:

parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787

int 与 String 互转

// int 转 String
int number = 58;

// 1
String string = "" + number;// 推荐
System.out.println(string);

// 2
String string2 = String.valueOf(number);// 其次推荐
System.out.println(string2);

// 3
Integer integer = new Integer(number);
System.out.println(integer.toString());

// 4
String string3 = Integer.toString(number);
System.out.println(string3);

System.out.println("==================================");

// String转int
String string4 = "88888";
// 1
Integer integer2 = new Integer(string4);
int i = integer2.intValue();
System.out.println(i);

// 2
int i1 = Integer.parseInt(string4);
System.out.println(i1);

自动拆装箱

自动装箱:基本类型自动转换为包装类型
自动拆箱:包装类型自动转换为基本类型
将基本类型值转换为包装类对象的过程称为装箱,相反的过程称为开箱
如果一个基本类型值出现在需要对象的环境中,编译器会将基本类型值进行自动装箱
如果一个对象出现在需要基本类型值的环境中,编译器将对对象进行自动开箱
例如:

Integer integer=4;//自动装箱
System.out.println(integer);	
integer+=6;//先自动拆箱后自动装箱
System.out.println(integer);

Integer[] intArray = {1, 2, 3};
基本数据类型值123被自动装箱成对象new Integer(1)new Integer(2)new Integer(3)
System.out.println(intArray[0] + intArray[1] + intArray[2]);
对象intArray[0]、intArray[1]、intArray[2]被自动转换(开箱)int值然后进行相加
in[]是不能自动装箱的,只能是int[]中的int类型元素可以,要装箱就只能一个个的装箱

引用类型以后凡是作为方法的形参的话,在方法里对形参的第一步先要判断是否为null
你创建了一个引用类型对象的话,需要传给别人方法的话,自己最好先判断是否为null

Integer 的内容值和地址值的判断

除了new之外,赋值范围在-128到127之间的话,会直接从常量池获取数据 否则不是以上范围的话,每次都会开辟新空间

Integer integer3=new Integer(128);
Integer integer4=new Integer(128);
System.out.println(integer3.equals(integer4));
System.out.println(integer3==integer4);

System.out.println("--------------------------------");

Integer integer5=new Integer(127);
Integer integer6=new Integer(127);
System.out.println(integer5.equals(integer6));
System.out.println(integer5==integer6);

System.out.println("--------------------------------");

Integer integer7=128;
Integer integer8=128;
System.out.println(integer7.equals(integer8));
System.out.println(integer7==integer8);

System.out.println("--------------------------------");

Integer integer9=127;
Integer integer10=127;
System.out.println(integer9.equals(integer10));
System.out.println(integer9==integer10);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值