Java 虽然是面向对象的编程语言,但是依旧保留了一些原始数据类型,同时为了兼容java面向对象的特性,每种原始数据类型,都有对应的包装类型。
原始数据类型:boolean、char、byte、short、int、long、float、double
包装类型:Boolean、Character、Byte、Short、Integer、Long、Float、Double
包装类型是对原始数据类型的一种封装,包含对原始类型数据的存储、基本操作以及两种类型直接的转换。Java5中,引入了
Integer就是int对应的包装类,它有一个int类型的字段存储数据,并且提供了基本操作,比如数学运算、类型转换等。
关于Integer的值缓存,是Java5中的一个改进。构造一个Integer对象的正常操作应该是直接使用Integer的构造器,new一个对象出来。但是根据具体实践,大部分的操作都较为集中在有限且较小的数值范围。因此,Java5中新增了静态工厂方法
知识点解读
如何理解自动装箱、拆箱
自动装箱实际上算是一种语法糖。Java会自动进行转换,保证不同的写法在运行时是等价的,他们
语法糖虽好,用时小心 建议避免无意的装箱、拆线行为(创建100万个java对象和100万个整数的消耗不是一个数量级的,不管是内存使用还是处理速度,光是对象头的空间占用就已经是数量级的差距了。)