gpt4 book ai didi

Java Autoboxing 通过一个方法

转载 作者:行者123 更新时间:2023-11-29 03:27:01 24 4
gpt4 key购买 nike

假设我有一个类:

class A {
private Integer i;

public int getI() {
return i;
}

// Setter, etc.
}

然后我写:

A a = // initializer

Integer b = a.getI();

会有多少个整数?我对自动装箱/拆箱的天真阅读让我相信答案是 2,但如果 getI() 是:

public Integer getI();

那么答案就是1。

最佳答案

你是绝对正确的,有一个警告:第一部分的答案取决于 Integer i 的值。 .

  • 在第一个场景中,一个 Integer是在构造函数中创建的,另一个是在装箱int时创建的来自 getI()
  • 在第二种情况下,不需要装箱,所以只有一个Integer。对象。

注意:如果Integer i的值很小(更准确地说,在 -128 到 127 之间,包括在内),自动装箱将产生相同的 Integer通过interning .

关于Java Autoboxing 通过一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20530742/

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