Long vs Integer, long vs int, what to use and when?(Long vs Integer,long vs int,什么时候使用?)
问题描述
有时我看到 API 使用 long 或 Long 或 int 或 Integer,但我想不通如何做出决定?
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是long的Object形式,Integer是int的对象形式.
Long is the Object form of long, and Integer is the object form of int.
long 使用 64 位.int 使用 32 位,因此最多只能保存 ±20 亿的数字(-231 到 +231-1).
The long uses 64 bits. The int uses 32 bits, and so can only hold numbers up to ±2 billion (-231 to +231-1).
你应该使用long和int,除非你需要使用继承自Object的方法,例如hashcode代码>.Java.util.collections 方法通常使用盒装(Object-wrapped)版本,因为它们需要适用于任何 Object 和原语类型,如 int 或 long,不是 Object.
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 是 pass-by-value,而 Long 和 Integer 是 pass-by-reference 值,与所有非原始 Java 类型一样.因此,如果可以修改 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 或 Integer 可以是 null.
A final difference is that a Long or Integer could be null.
这篇关于Long vs Integer,long vs int,什么时候使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Long vs Integer,long vs int,什么时候使用?
基础教程推荐
- 不推荐使用 Api 注释的描述 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- Java Swing计时器未清除 2022-01-01
