使用int vs Integer

开发人员:

我遇到了一个使用Integer变量来捕获要在for循环中使用的大小的类。这是一种好习惯还是应该使用int基本数据类型?

Integer size = something.getFields().size();
for (Integer j = 0; j < size - 1; ++j) 
麦克麦克马洪:

提供了Integer类,以便可以以纯OO方式对值进行装箱/拆箱。在适当的地方使用int,除非您特别需要以OO方式使用它;在这种情况下,Integer是适当的。

Java Int与Integer

但是,这里的幕后情况截然不同。整数是数字;整数是数字。> Integer是可以引用包含数字的对象的指针。

...

一个int不是对象,并且不能传递给任何需要对象的方法。一个常见的情况是使用提供的集合类(List,Map,Set)-尽管可以编写这些类的版本,这些版本提供与对象版本相似的功能。每当使用内省时(例如在反射API中),经常需要包装器类(Integer,Double等)。

何时使用一个相对于另一个的更好描述:

在int和Integer之间选择

在详细说明原因之前,我将从如何使用这些类型开始。

  • int由于性能原因更喜欢
  • 接受对象(包括的通用类型List<T>)的方法将隐式要求使用Integer
  • 使用Integer价格相对便宜,因为实习的低值(-128〜127) -使用Integer.valueOf(int),而不是新的整数(INT)
  • 不要使用==!=与整数类型一起使用
  • Integer在需要表示缺少值时考虑使用(空)
  • 当心将装箱的整数值装箱为带空值的int

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章