gpt4 book ai didi

java - 在 Java 中何时使用原始类型以及何时使用引用类型

转载 作者:IT老高 更新时间:2023-10-28 20:39:36 25 4
gpt4 key购买 nike

在哪种情况下应该使用原始类型(int)或引用类型(Integer)?

这个 question激发了我的好奇心。

最佳答案

In which case should you use primitive types(int) or reference types (Integer)?

根据经验,我将使用原语(例如 int),除非我必须使用包装原语的类。

其中一种情况是必须使用包装器类,例如 Integer 在使用 generics 的情况下,因为 Java 不支持使用原始类型作为类型参数:

List<int> intList = new ArrayList<int>();               // Not allowed.
List<Integer> integerList = new ArrayList<Integer>(); // Allowed.

而且,在很多情况下,我会利用 autoboxing and unboxing ,因此我不必显式执行从原语到其包装类的转换,反之亦然:

// Autoboxing will turn "1", "2", "3" into Integers from ints.
List<Integer> numbers = Arrays.asList(1, 2, 3);

int sum = 0;

// Integers from the "numbers" List is unboxed into ints.
for (int number : numbers) {
sum += number;
}

另外,作为附加说明,当从基元转换为其包装类对象时,对象的唯一实例不是必需的,请使用包装方法提供的 valueOf 方法,因为它执行缓存并为某个值返回相同的实例,从而减少创建的对象数量:

Integer i1 = Integer.valueOf(1);   // Prefer this.
Integer i2 = new Integer(1); // Avoid if not necessary.

有关 valueOf 方法的更多信息,Integer.valueOf 的 API 规范方法可以作为这些方法在基元包装类中的行为方式的引用。

关于java - 在 Java 中何时使用原始类型以及何时使用引用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2509025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com