使用int与Integer的java
我遇到了一个类,它使用整数变量来捕获要在for循环中使用的大小。这是一种良好的做法,还是应该使用int基元数据类型
Integer size = something.getFields().size();
for (Integer j = 0; j < size - 1; ++j)
你可以在下面搜索框中键入要查询的问题!
我遇到了一个类,它使用整数变量来捕获要在for循环中使用的大小。这是一种良好的做法,还是应该使用int基元数据类型
Integer size = something.getFields().size();
for (Integer j = 0; j < size - 1; ++j)
# 1 楼答案
这种方法在实践中并不好,尽可能使用
int
。使用Integer
表示这个特定变量可以是null
(或者它在一个集合中,该死的泛型…)事实并非如此另外,使用
Integer
会带来额外的装箱和拆箱开销# 2 楼答案
提供了Integer类,因此可以以纯OO的方式对值进行装箱/取消装箱。在适当的地方使用int,除非你特别需要以面向对象的方式使用它;在这种情况下,整数是合适的
Java Int vs Integer
更好地描述何时使用其中一种与另一种:
在int和Integer之间选择
# 3 楼答案
如果你可以使用
int
,那么就这样做。如果该值可以是null
或用作对象(例如泛型),请使用Integer
通常情况下,使用哪一个并不重要,但通常
int
的性能稍好一些# 4 楼答案
在大型项目中,这是一个潜在的灾难。这里的编码员忘记了每个整数实际上是一个新对象,要将其用作int,必须一直进行装箱和拆箱。它不仅效率低下,而且无法按预期运行。最好尽可能始终使用int,并且仅在将这些值放入列表、容器或数据库存储时使用Integer。记住,使用>;比较对象&书信电报;and==的意思不是使用相同的运算符来比较原语
# 5 楼答案
不要只用它循环。使用与Integer类不同的基本类型int(更好的性能)
因此,如果需要调用整数函数或需要为其赋值,请使用Integer
对于List这样的泛型,还需要使用Integer而不是int
# 6 楼答案
总是在可能的地方升级基本类型
基元类型不能用作泛型参数或null