问题描述
有时我看到API使用 long
或 Long
或 int
或整数
,我无法确定如何做出决定?
Sometimes I see API's using long
or Long
or int
or Integer
, and I can't figure how the decision is made for that?
我应该什么时候选择?
推荐答案
长
是对象
形式的 long
和整数
是 int
的对象形式。
Long
is the Object
form of long
, and Integer
is the object form of int
.
long
使用。 int
使用32位,因此只能保存数字高达±20亿(-2 至+2 -1)。
The long
uses 64 bits. The int
uses 32 bits, and so can only hold numbers up to ±2 billion (-2 to +2-1).
你应该使用 long
和 int
,除非您需要使用从 Object
继承的方法,例如 hashcode
。 Java.util.collections
方法通常使用盒装( Object
-wrapped)版本,因为它们需要适用于任何版本 Object
,以及一个基本类型,如 int
或 long
,不是对象
。
You should use long
and int
, except where you need to make use of methods inherited from Object
, such as hashcode
. Java.util.collections
methods usually use the boxed (Object
-wrapped) versions, because they need to work for any Object
, and a primitive type, like int
or long
, is not an Object
.
另一个区别是 long
和 int
是按值传递,而长
和<$ c与所有非原始Java类型一样,$ c> Integer 是传递引用值。因此,如果可以修改 Long
或 Integer
(它不是,它们是不可变的而不使用JNI代码) ,另一个原因是使用一个而不是另一个。
Another difference is that long
and int
are pass-by-value, whereas Long
and Integer
are pass-by-reference value, like all non-primitive Java types. So if it were possible to modify a Long
or Integer
(it's not, they're immutable without using JNI code), there would be another reason to use one over the other.
最后一个区别是 Long
或整数
可以是 null
。
A final difference is that a Long
or Integer
could be null
.
这篇关于Long vs Integer,long vs int,使用什么以及何时使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!