3

能给我一个将对象放入数组的具体解释吗?

我知道您可以将数字放入数组中,然后使用这些数字操作、排序或执行其他功能。但是,我很难理解您如何能够对数组中的对象执行此操作。

如果我错了,请纠正我,但似乎一个对象就像一个类,一个类是一个蓝图。那么,当你把不同的对象放在一个数组中时,你不是把不同的“蓝图”放在同一个数组中吗?这是如何运作的?这样做有什么用处?

还是只能将同一类的对象放在一个数组中,而不能将不同类的对象放在同一个数组中?

4

3 回答 3

1

类是创建对象的模板。该类是某种类型的对象(String 类型的对象是使用名为 java.lang.String.class 的类创建的)。您可以通过在对象上调用 getClass() 来查找对象的类。该类与它用于创建的对象是分开的。

对象数组具有对对象的引用。对象存在于内存中的某处,数组有指向它们的指针。对数组进行排序后,代码会按照引用查找对象中的数据,然后将引用重新分配给不同的数组元素。

此外,如果您有一个对象数组(Object[]),您可以将任何类的对象放入其中。

于 2013-04-27T02:09:45.077 回答
0

在正常情况下,它只将一种类型的对象放入一个数组中。您可以使用 arrayList 限制类型。

于 2013-04-27T02:07:30.800 回答
0

在 java 中,一切都是对象 [除了原语 - int、float 等]。甚至 Array 也是一个对象。

我们不将对象放入数组中。我们将对象引用存储在数组中。您的对象位于堆上,其引用将位于堆栈上。

在声明数组时,我们声明它是什么类型的对象。如果我将数组声明为 MyClass 类型的对象,

MyClass[] arr = new MyClass[10]; 

然后我可以将 MyClass 的所有对象和 MyClass 的子类的对象存储在我的数组中。你不能存储任何其他对象,我们会得到一个编译错误。

但是,如果我们将数组声明为 Object 类型,

Object[] obj = new Object[5];

然后我们可以在我们的数组中插入任何对象引用。

为什么我们在数组中使用对象?

假设我有三个 MyClass 对象,我想将它们从我的 Java 传递到相应的 JSP。我可以通过创建一个数组并在其中存储所有三个对象来做到这一点,然后我们将把数组传递给 Jsp。

于 2013-04-27T02:18:55.037 回答