使用哪一个,整数或整数

2022-08-31 13:24:16

我需要创建一个数据传输对象,我将使用它来存储从数据库中检索到的记录。在此数据传输对象中,我需要声明一个数值字段。对于哪一个更好 - 整数整数

如果我将字段定义为 Integer,如果我要从 DB 中检索超过 2000 条记录,是否会因为“Integer”类型而对性能产生任何影响!?

提前致谢。


答案 1

Integer是一个更好的选择,因为它可以处理;因为 ,如果使用,将变为 ,默默地。否则,它可能会引发一些异常,例如“无法设置为基元属性”。nullintnull0resultSet.getInt(..)null

性能在这里无关紧要。

  • 如果选择 ,则最终会添加额外的处理代码;这不会让你受益匪浅。你的代码不会干净和直接,大量的样板代码,你甚至不会获得性能。int
  • 让我明确一点,对于数据库,null 与零不同。有时你最终会进入 ,这是预期的。想象一下,用户提交了一个表单,但没有为 提供任何值。默认情况下,您最终将获得。当该字段位于数据库中时,这是有道理的,或者确实如此。0nullint0not null

答案 2

您应该根据需要对象做什么而不是性能成本来做出决定。一旦使用分析器确定了速度问题,就应该根据性能做出决定 - 这是所有邪恶和所有这一切的根源。

查看两者的一些功能,并将其用于您的决定,例如

  • Integer可以是 ,不能。那么 DB 中的是一个字段吗?nullintintNullable
  • 是否需要访问类方法?Integer
  • 你在做算术吗?

就个人而言,我总是选择原始而不是包装器。但这只是一个偏好,而不是基于任何技术价值。


推荐