一 封装类与基本数据类型可以实现自动装箱与自动拆箱
自动拆箱的意思是可以将封装类型的值直接赋给它所属的基本类型,例如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