gpt4 book ai didi

java - ArrayBag的概念

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:12 33 4
gpt4 key购买 nike

我无法理解类幻灯片的一部分:

将项目存储在 ArrayBag 中:
我们将项目存储在对象类型的数组中。

public class ArrayBag implements Bag {
private Object[] items;
private int numItems;
....
}

由于多态性的力量,这允许我们在 items 数组中存储任何类型的对象:

ArrayBag bag = new ArrayBag(); 
bag.add("hello");
bag.add(new Double(3.1416));

ArrayBag 是一个特定类型的对象还是只是一个 Obj 变量名称?
为什么我们需要将 3.1416 转换为 Double 并添加新的?
(我知道代码可能只是 bag.add(3.1416) 并且 Java 会为你自动装箱它,但我很难理解 bag.add(new Double(3.1416)) 背后的含义。

最佳答案

Is ArrayBag a specific type of object or is it just a Obj variable name?

ArrayBag 既不是特定类型的对象,也不是Obj 变量,它实际上是一个

Why do we need to cast 3.1416 as a Double and add a new?

不,当 AutoBoxing 出现时(Java 1.5 及更高版本),您不需要显式转换 double 并将 double 转换为 Double 即从原始类型到对象。

I'm having trouble understanding the meaning behind bag.add(new Double(3.1416)

bag 实际上是 ArrayBag 的实例,而 add() 是此类中定义的方法,它采用 Object 类型的参数,并可能将其添加到 items 数组中,该数组只不过是一个 Object 数组。

关于java - ArrayBag的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494919/

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