📜  ArrayList 可以包含对Java中同一对象的多个引用吗?(1)

📅  最后修改于: 2023-12-03 14:39:21.172000             🧑  作者: Mango

ArrayList 可以包含对Java中同一对象的多个引用吗?

在Java中,一个对象可以被多个变量引用。但是,当我们将一个对象添加到ArrayList中时,实际上是将对象的引用添加到ArrayList中。

如果我们将同一个对象的不同引用添加到ArrayList中,它们将被视为不同的对象,并且将分别占用ArrayList中的不同位置。

以下是一个示例程序来说明这一点:

public class Main {
    public static void main(String[] args) {
        // Create a new ArrayList
        ArrayList<String> list = new ArrayList<>();

        // Create a new object
        String obj = new String("object");

        // Add the object to the ArrayList twice
        list.add(obj);
        list.add(obj);

        // Print the size of the ArrayList
        System.out.println("ArrayList size: " + list.size());
        // Print the toString() representation of the ArrayList
        System.out.println("ArrayList contents: " + list.toString());
    }
}

运行结果:

ArrayList size: 2
ArrayList contents: [object, object]

上面的代码将一个新的字符串对象添加到ArrayList中两次。但是,当我们打印ArrayList的大小和内容时,我们可以看到它们都是相同的对象。

因此,ArrayList可以包含对Java中同一对象的多个引用。但是,当我们添加多个引用时,它们将被视为不同的对象,并且将占用ArrayList中的不同位置。