int是Java中的基础数据类型,Integer是int的包装类;
Integer跟int可以相互转化,int -> Integer 是自动装箱过程,Integer -> int 是自动拆箱过程。
作为成员变量时,int默认值是0,而Integer为null;在方法内部变量时,int和Integer必须初始化才能调用。
附上代码说明:
public class Test1 {
public static void main(String[] args) {
Animal animal = new Animal();
System.out.println("成员变量默认值是:nums="+animal.nums+",numbers="+animal.numbers);
}
}
class Animal {
int nums;
Integer numbers;
Animal(){
int num = 0;
System.out.println("方法内部int必须初始化--> num="+num);
Integer number = null;
System.out.println("方法内部Integer也要初始化,即便赋值为null--> number="+number);
}
public int getAnimalNums() {
int num = 0;
System.out.println("方法内部int必须初始化--> num="+num);
return num;
}
public Integer getAnimalNumbers() {
Integer number = null;
System.out.println("方法内部Integer也要初始化,即便赋值为null--> number="+number);
return number;
}
}
结果是:
方法内部int必须初始化--> num=0
方法内部Integer也要初始化,即便赋值为null--> number=null
成员变量默认值是:nums=0,numbers=null