Integer 和 int 的区别
1、Integer是int提供的封装类,而int是Java的基本数据类型;
2、Integer的默认值是null,而int的默认值是0;
3、生命为Integer的变量需要实例化,而声明为int的变量不需要实例化;
4、Integer是对象,用一个引用指向这个对象,而int是基本类型,直接储存数值;
5、Integer是一个类,是int的扩展,定义了很多的转换方法,类似的还有float Float; double Double;string String等,而且还提供了处理int类型是非常有用的其他一些常量和方法。举个例子:当需要往ArrayList, HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这时就需要这些内建类型的外覆类了。
6、Integer和int都可以表示某一个数值,但不能够互用,因为他们是两种不同的数据类型。
举例说明:
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
并且泛型定义时也不支持int,如:List<Integer> list = new ArratList<Integer>();可以,而List<int> list = new ArrayList<int>();则不行。
Integer类的方法
构造方法摘要 | |
Integer(int value) |
|
Integer(String s) |
|
方法摘要 | |
static int | bitCount(int i) |
byte | byteValue() |
int | compareTo(Integer anotherInteger) |
static Integer | decode(String nm) |
double | doubleValue() |
boolean | equals(Object obj) |
float | floatValue() |
static Integer | getInteger(String nm) |
static Integer | getInteger(String nm, int val) |
static Integer | getInteger(String nm, Integer val) |
int | hashCode() |
static int | highestOneBit(int i) |
int | intValue() |
long | longValue() |
static int | lowestOneBit(int i) |
static int | numberOfLeadingZeros(int i) |
static int | numberOfTrailingZeros(int i) |
static int | parseInt(String s) |
static int | parseInt(String s, int radix) |
static int | reverse(int i) |
static int | reverseBytes(int i) |
static int | rotateLeft(int i, int distance) |
static int | rotateRight(int i, int distance) |
short | shortValue() |
static int | signum(int i) |
static String | toBinaryString(int i) |
static String | toHexString(int i) |
static String | toOctalString(int i) |
String | toString() |
static String | toString(int i) |
static String | toString(int i, int radix) |
static Integer | valueOf(int i) |
static Integer | valueOf(String s) |
static Integer | valueOf(String s, int radix) |