关于Integer封装类的重要方法及特别注意

一 封装类与基本数据类型可以实现自动装箱与自动拆箱

自动拆箱的意思是可以将封装类型的值直接赋给它所属的基本类型,例如Integer类型的值可以直接赋值给int类型,自动装箱同理,可以将int类型的值赋值给Integer类型的变量。

 int i=10;
        Integer integer=i;//自动装箱
        Character character='a';
        char c1=character;//自动拆箱

二  parseInt方法

1,只有一个参数的parseInt的方法是直接将字符串被解析为相应的封装类,特别的,Character没有parseInt方法,Boolean的parseInt方法只有在字符串为“true”时才会输出true(不区分大小写)字符串为其它时都只输出false,对于Integer类型的parseInt方法是直接将该字符串解析为十进制数

2,当有两个参数时,第二个参数代表的字符串所属的进制,例如 parseInt("123",16)的意思是将16进制数123转化为十进制,特别注意的是,进制范围只能在2到36之间,超过会报错例如


var v1=Integer.parseInt("111",37);
将会报 radix 37 greater than Character.MAX_RADIX的错误,另外还需要注意字符串的值不能所属进制,例如
  var v1=Integer.parseInt("222",2);

这种就会报For input string: "222" under radix 2的错误

三toUnsignedString方法

1,一个参数的toUnsignedString直接将整数转换为无符号对应的字符串例如

 String s = Integer.toUnsignedString(7 );
       System.out.println(s);
7

如果该参数为负数转换方法相同但是无法得到正确的值,因为负数的二进制转换需要先得到原码的绝对值的二进制数,然后取反,最后在加1得到补码。得到补码之后在0xffffffffL进行&运算

所以无法输出正确的值。

  String s = Integer.toUnsignedString(-7);
        System.out.println(s);

输出的值为

4294967289

-7的转换为二进制数为111111111111001

2,两个参数的方法,第一个参数是需要转换的整数,第二个参数是被转换的进制数例如;

tring s = Integer.toUnsignedString(-7,2);
        System.out.println(s);

输出为

11111111111111111111111111111001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值