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

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

🌱 intInteger 的区别

特点

int

(基本类型)

Integer

(包装类)

类型

基本数据类型

引用类型 (对象)

默认值

0

null

存储位置

栈内存

堆内存(对象)

可否为null

不可以

可以

功能

只表示数值

提供方法(如toString()

compareTo()

等)

性能

内存占用小,性能更好

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

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

int的情况:

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

Integer的情况:

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

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

  1. 数据库设计对应:
  • 数据库字段可能允许NULL,如果用int,无法区分0null,会造成逻辑混淆;
  • Integer,可以明确表达“未赋值”的状态(即null)。
  1. 框架兼容性:
  • 比如 MyBatis / Hibernate 进行ORM映射时,推荐用Integer,能自动处理null值。
  1. 扩展性更好:
  • 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,防止数据库null0混淆。
  • 普通运算场景:用int,节省内存,效率更高。
  • 集合泛型:必须用Integer,因为泛型不支持基本类型。
  • 需要表示“空值”:选Integer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值