java int与Integer区别是什么



java int与Integer区别是什么?简单地说int是原始类型(也称内置类型、基本数据类型),而Integer是一个类,是引用类型。

引用类型的默认值是null,而原始类型的默认值和它们的类型有关。如果你写一个int a = null;这样肯定编译就无法通过!
当然,引用类型,它的对象可以调用这个类里面的方法,甚至访问这个类的变量。我们可以把它与String、Animal之类的类联系起来,它们其实是一样的!
比较常见的原始类型与引用类型:
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
那么,为什么有了引用类型,还要原始类型呢?引用类型基本实现了原始类型的功能。
个人认为主要有以下两点原因:
1、效率问题,原始类型肯定比引用类型效率更高;
2、历史遗留问题,java源自于C语言,所以这些思路受C语言影响;