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,什么时候使用?
- C++ 和 Java 进程之间的共享内存 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
