有时我看到 API 使用 long
或 Long
或 int
或 Integer
,但我想不通如何做出决定?
我应该什么时候选择?
最佳答案
Long
是long
的Object
形式,Integer
是int的对象形式
.
long
使用 64 bits . int
使用 32 位,因此最多只能保存 ±20 亿的数字(-231 到 +231-1)。
你应该使用long
和int
,除非你需要使用继承自Object
的方法,例如hashcode
。 Java.util.collections
方法通常使用盒装(Object
-wrapped)版本,因为它们需要适用于任何 Object
和原语类型,如 int
或 long
,不是 Object
。
另一个区别是 long
和 int
是 pass-by-value,而 Long
和 Integer
是 pass-by-reference 值,与所有非原始 Java 类型一样。因此,如果可以修改 Long
或 Integer
(不是,它们在不使用 JNI 代码的情况下是不可变的),还有另一个理由使用其中一个.
最后一个区别是 Long
或 Integer
可以是 null
。
关于java - Long vs Integer,long vs int,什么时候使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857812/