20180326 java java面向对象-Integer与int的区别
20180326 java java面向对象-Integer与int的区别
这里讨论的 Integer与int的区别 也可以引申为包装类型与基本数据类型的区别
区别:
1)默认值
int的默认值为0;
Integer的默认值为null(作为成员变量使用的时候)。
推论:Integer既可以表示null又可以表示0。
eg:
Integer num = null;//表示没有分配内存空间
num = 0;//表示赋给它的值就是0
2)包装类中提供了改类型的相关的很多算法操作方法。
eg:
Integer提供了以下方法:
static String toBinaryString(int i);//将10进制的数转换成2进制的数
static String toOctalString(int i);//将10进制的数转换成8进制的数
static String toHexString(int i);//将10进制的数转换成16进制的数
System.out.println(Integer.toBinaryString(int 3));//输出 11
3)在几何框架中,只能存储对象类型,不能存储基本数据类型值(???)
4)Integer与int是不同的数据类型,即在java类中可以这样写:
public class ABC{
public void DEF(int val){}//函数1
public void DEF(Integer val){}// 函数2
}
5)方法中的基本类型变量存在于栈中,包装类存放于堆中。
/*************************************/
/*** 在开发中,建议使用包装类型。 ***/
/*************************************/