首页 / 预测世界杯足球

int与Integer 的区别,什么时候用Integer ?什么时候用int?实体类为什么用Integer 不用int?每个基本类型的初始值是什么?

2025-08-31 11:56:53预测世界杯足球 5031

这些是 Java 面试和实际开发中很常见也很重要的基础知识。

🌱 int 和 Integer 的区别

特点

int

(基本类型)

Integer

(包装类)

类型

基本数据类型

引用类型 (对象)

默认值

0

null

存储位置

栈内存

堆内存(对象)

可否为null

不可以

可以

功能

只表示数值

提供方法(如toString()

、compareTo()

等)

性能

内存占用小,性能更好

相比基本类型略慢(多了装箱拆箱)

💡 什么时候用 Integer?什么时候用 int?

✅ 用int的情况:

数值计算频繁;不需要表示null(不存在的状态);内存和性能优先考虑时。

✅ 用Integer的情况:

对象类型场景:

类中属性(尤其是数据库映射的实体类,避免默认值和实际数据混淆);集合(如 List,泛型只能用引用类型);需要支持null表示“未赋值”状态;使用类方法(例如:Integer.parseInt(),或者调用对象方法)。

🏠 实体类为什么用 Integer 而不用 int?

数据库设计对应:

数据库字段可能允许NULL,如果用int,无法区分0和null,会造成逻辑混淆;用Integer,可以明确表达“未赋值”的状态(即null)。

框架兼容性:

比如 MyBatis / Hibernate 进行ORM映射时,推荐用Integer,能自动处理null值。

扩展性更好:

Integer可以调用方法,方便扩展和使用,比如:

Integer a = 10; String s = a.toString();

⚡️ Java 基本数据类型默认值:

类型

默认值

byte

0

short

0

int

0

long

0L

float

0.0f

double

0.0d

char

'\u0000'

(空字符)

boolean

false

引用类型

null

🎯 总结

实体类属性:用Integer,防止数据库null和0混淆。普通运算场景:用int,节省内存,效率更高。集合泛型:必须用Integer,因为泛型不支持基本类型。需要表示“空值”:选Integer。