Integer 用法小结...
几个重要的方法:
(1):byteValue
(2):highestOneBit
(3):lowestOneBit
(4):getInteger
Integer n3 = new Integer("128");
Byte bbbb = n3.byteValue();
System.out.println(bbbb);
(1)
对于n3.intValue()是128,再把128表示成二进制的形式是
00000000 00000000 00000000 10000000
然后由于byte只有一个字节的大小,并且是有符号的,所以取出10000000,
这是一个补码的形式,首位1表示符号位,后面-1,再取反就是原来byte的绝对值形式.
举个例子来说吧,比如956,二进制的形式应该是00000000 00000000 00000011 10111100
舍去前面的24位(byte只有8位,所以取后8位),即10111100,首位1表示负数,后面的
0111100减1再取反就是1000100,此数字为68,最终结果应该是-68.
再举个例子(对于byte首位为0),如360(d),二进制形式为00000000 00000000 00000001 01101000
直接提取最后八位01101000,由于首位是0,表示整数,即直接就是1101000表示的数即+104.
(2)
highestOneBit(x) 返回这个2进制数最左的那个1,将其后置0
相当于
0000 1000 .... 1111 0000 返回 0000 1000 .... 0000 0000
0100 1000 .... 1111 0000 返回 0100 0000 .... 0000 0000
就是某个整数将其拆分成几个2的倍数的和,取其中最大一项
200 = 128 + 64 + ... 取128
1000 = 512 + 256 + ... 取512
(3)
lowestOneBit(x) 返回这个2进制数最右的那个1,将其后置0
相当于
0000 1000 .... 1111 0000 返回 0000 0000 .... 0001 0000
0100 1000 .... 1111 0000 返回 0000 0000 .... 0001 0000
就是某个整数将其拆分成几个2的倍数的和,取其中最大一项
200 = 128 + 64 + 8 取 8
1000 = 512 + 256 + 128 + 64 + 32 + 8 取8
(4)
下面几个不太懂..不知道能清知道的朋友举个例子..
static Integer getInteger(String nm)
确定具有指定名称的系统属性的整数值。
static Integer getInteger(String nm, int val)
确定具有指定名称的系统属性的整数值。
static Integer getInteger(String nm, Integer val)
返回具有指定名称的系统属性的整数值