能给我一个将对象放入数组的具体解释吗?
我知道您可以将数字放入数组中,然后使用这些数字操作、排序或执行其他功能。但是,我很难理解您如何能够对数组中的对象执行此操作。
如果我错了,请纠正我,但似乎一个对象就像一个类,一个类是一个蓝图。那么,当你把不同的对象放在一个数组中时,你不是把不同的“蓝图”放在同一个数组中吗?这是如何运作的?这样做有什么用处?
还是只能将同一类的对象放在一个数组中,而不能将不同类的对象放在同一个数组中?
类是创建对象的模板。该类是某种类型的对象(String 类型的对象是使用名为 java.lang.String.class 的类创建的)。您可以通过在对象上调用 getClass() 来查找对象的类。该类与它用于创建的对象是分开的。
对象数组具有对对象的引用。对象存在于内存中的某处,数组有指向它们的指针。对数组进行排序后,代码会按照引用查找对象中的数据,然后将引用重新分配给不同的数组元素。
此外,如果您有一个对象数组(Object[]),您可以将任何类的对象放入其中。
在正常情况下,它只将一种类型的对象放入一个数组中。您可以使用 arrayList 限制类型。
在 java 中,一切都是对象 [除了原语 - int、float 等]。甚至 Array 也是一个对象。
我们不将对象放入数组中。我们将对象引用存储在数组中。您的对象位于堆上,其引用将位于堆栈上。
在声明数组时,我们声明它是什么类型的对象。如果我将数组声明为 MyClass 类型的对象,
MyClass[] arr = new MyClass[10];
然后我可以将 MyClass 的所有对象和 MyClass 的子类的对象存储在我的数组中。你不能存储任何其他对象,我们会得到一个编译错误。
但是,如果我们将数组声明为 Object 类型,
Object[] obj = new Object[5];
然后我们可以在我们的数组中插入任何对象引用。
为什么我们在数组中使用对象?
假设我有三个 MyClass 对象,我想将它们从我的 Java 传递到相应的 JSP。我可以通过创建一个数组并在其中存储所有三个对象来做到这一点,然后我们将把数组传递给 Jsp。