Java:实体类中Integer和int的区别

郎家岭伯爵 2023年03月14日 485次浏览

前言

实体类中 Integerint 的区别。

实现

  • Integer 的默认值是 null,而 int 的默认值是 0

  • 数据库中的 INT 类型对应的是 Integer,而不是 int

  • 定义属性值 int 类型的时候,在数据库中默认 null,当插入操作的时候会把默认值变成 0;定义属性值 Integer 类型的时候,在数据库中默认也是 null,因此当插入操作的的时候默认值为 null

所以在后端对该属性进行判断是否为空时,需注意二者的区别,一个判断是否为 null,一个判断是否为 0。但在实际的应用中有些类型的值为 0 是有意义的,如 gender(性别):0(代表女)1(代表男),此时当插入的数据为空时,int就会插入0,产生歧义。

因此建议使用 Integer,而非 int

Java 中 Longlong 其实也有相似的性质。

总结

实体类中 Integerint 的区别。