一,int和integer的区别
int是Java的基本类而Integer是Java的包装类;
int的声明不需要实例化而Integer的声明需要;
int默认值为0,Integer的默认值为null;
二,Integer.valueOf(String s) 返回Integer
将字符串转化为Integer||int;
三,Integer.valueOf(int x)返回Integer
public static Integer valueOf(int i) {
assert IntegerCache.high >= 127;
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i); // 缓存里没有则new
}
源代码说明他就是个声明或者new的功能。
四Integer.valueOf(String s,int radix)返回Integer
后面的radix代表着要转化的字符串的进制,如果进制不匹配的话就会报错,同时不写进制(如上二)则默认十进制。
若正确输入进制则会将字符串转化为十进制数。
五Integer.bitCount(int i)返回int
public static int bitCount(int i) {
// HD, Figure 5-2
i = i - ((i >>> 1) & 0x55555555);
i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);
i = (i + (i >>> 4)) & 0x0f0f0f0f;
i = i + (i >>> 8);
i = i + (i >>> 16);
return i & 0x3f;
}
这是输入十进制数,将其二进制中的一的个数统计出来。
这是一个大佬对源码的解释(不明觉历)java中Integer.bitCount()方法的实现(个人理解)_123659的博客-CSDN博客_bitcount
六,Integer.toString(int)返回String
这是将int型转化为String
七,Integer.toString(int,int)返回String
同上四,后一个int代表进制。
八,Integer.compare(int x,int y)返回int
用于比较俩个int数
前小后大返回-1
前大后小返回1
相等返回0
九Integer.compareUnsigned(int,int)返回int
同上,区别是该方法会去符号后比较。
十,Integer.decode(String)返回Integer
同样是将字符串转为数字,但是要转的进制在字符串中标注如0x10则转为16,010则转为8,10则转为10,默认是十进制,直接AAA会报错。
十一,Integer.divideUnsigned(int,int)返回int
求商的方法,前一个是被除数,后一个是除数,除数为负返回0,被除数为负返回477218584,除数为0会报错。