实习快半个月了,最近收获还是挺大的,虽然我不是很厉害的开发者,更何况我现在做的事情还是与开发没多大关系的职位,软件测试,呵呵,有点搞笑吧,以前的事就不提了,现在已经这样了,那么学了一晚上了,还是来整理整理今天APP小公举的学习笔记,针对integer的详解。
谈integer之前,先说说int吧,咱们都知道,java的数据类型分为基本数据类型和复杂数据类型,而int是基本数据类型,直接可以存值,相反,integer是复杂数据类型,并且它是一个对象,因此在类进行初始化时int类型的变量初始值为0,integer变量初始值为null。
integer是一个类,是int的扩展,定义了很多转换方法,Integer是int的封装类,两者都可以表示一个数值,但不能互用,因为他们是不同的数据类型,在ArrayList和HashMap中,例如int和double是放不进去的,因为容器装的是object对象,这就需要这些内建类的外覆类作为对象存值放进容器中。
举例说明:
ArrayList al = new ArrayList();
int n = 40;
Integer nI = new Integer(n);
al.add(n);//不可以的,数据不匹配,语法错误
al.add(nI);//可以,数组成功添加对象
另外,Integer可以支持泛型,而Int不行,例如:
List<Integer> list = new ArrayList<Integer>();//可以
List<int> list = new ArrayList<int>();//不可以
总结:int类型的数,只能用来进行数值运算或者作为参数传递,才能直接声明为int的基本数据类型,另一方面,如果要像对象一样来处理,就需要声明一个Integer的对象,因为此种声明能够提供很多对象间的转换方式以及一些常用的方法。所以,java作为一门面向对象的语言,我们在声明一个变量时最好声明为对象格式,有利于面向对象思维的理解。