Long vs Integer,long vs int,什么时候使用?

2023-10-14Java开发问题
12

本文介绍了Long vs Integer,long vs int,什么时候使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

有时我看到 API 使用 longLongintInteger,但我想不通如何做出决定?

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?

我应该什么时候选择?

推荐答案

LonglongObject形式,Integerint的对象形式.

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).

你应该使用longint,除非你需要使用继承自Object的方法,例如hashcode.Java.util.collections 方法通常使用盒装(Object-wrapped)版本,因为它们需要适用于任何 Object 和原语类型,如 intlong,不是 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.

另一个区别是 longintpass-by-value,而 LongIntegerpass-by-reference 值,与所有非原始 Java 类型一样.因此,如果可以修改 LongInteger (不是,它们在不使用 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.

最后一个区别是 LongInteger 可以是 null.

A final difference is that a Long or Integer could be null.

这篇关于Long vs Integer,long vs int,什么时候使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何使用 JAVA 向 COM PORT 发送数据?
How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)...
2024-08-25 Java开发问题
21

如何使报表页面方向更改为“rtl"?
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)...
2024-08-25 Java开发问题
19

在 Eclipse 项目中使用西里尔文 .properties 文件
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)...
2024-08-25 Java开发问题
18

有没有办法在 Java 中检测 RTL 语言?
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)...
2024-08-25 Java开发问题
11

如何在 Java 中从 DB 加载资源包消息?
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)...
2024-08-25 Java开发问题
13

如何更改 Java 中的默认语言环境设置以使其保持一致?
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)...
2024-08-25 Java开发问题
13