重命名方法中的对象名称
Rename object names in methods
我有一段代码
list.add(new Person())
由于缺少 Person 对象的命名部分
Person p = new Person()
这个人物对象被赋予什么样的名字?
知道对象的名称重要吗?
如果将对象添加到没有名称的 ArrayList 中,我将如何访问该对象的方法?
编辑:名称 == 参考。我知道对象没有名字
您可以从列表中的索引访问该对象。
p
不是 "the name of the object"。 p
是一个恰好包含对 Person
对象的引用的变量。对象没有名称。
如果您跳过声明 p
变量并将 Person
对象直接添加到 ArrayList
,ArrayList
仍然持有对该对象的引用,因此它使用 list.add(new Person())
或 list.add(p)
.
无关紧要
无论哪种方式,您都可以使用 list.get(index)
检索对 Person
的引用,然后执行您希望的任何方法。
一个对象存在于 JVM 内存堆中,并且没有名称这样的东西。它可以由可以是列表或单个元素的变量引用。对于列表,您可以通过索引访问列表元素来引用对象。
我认为 Person-Object 的名称并不重要。
您可以简单地使用 list.get(int number)
访问它。
这将为您提供对该位置元素的引用。
希望我正确理解了您的问题,这对您有所帮助。
该名称仅供开发者参考,实际运行时并不需要。
要访问您的对象,您将使用:
List<Person> list = new ArrayList<Person>(); // Create the list
list.add(new Person()); // Add the person to the list
list.get(0); // Returns the person you added
如果您想从列表中获取特定的人,我建议使用 HashMap 并将他们的名字存储为键。
我认为您可能混淆了对象的创建与分配对该对象的引用。在您的示例中,p 是对您创建的对象 Person 的引用。您没有将该对象命名为 p,但是有一个名为 p 的引用指向对象 person。
要从 list.add(new Person()) 创建对 person 对象的引用,您只需执行
Person p = list.get(0)
我有一段代码
list.add(new Person())
由于缺少 Person 对象的命名部分
Person p = new Person()
这个人物对象被赋予什么样的名字?
知道对象的名称重要吗? 如果将对象添加到没有名称的 ArrayList 中,我将如何访问该对象的方法?
编辑:名称 == 参考。我知道对象没有名字
您可以从列表中的索引访问该对象。
p
不是 "the name of the object"。 p
是一个恰好包含对 Person
对象的引用的变量。对象没有名称。
如果您跳过声明 p
变量并将 Person
对象直接添加到 ArrayList
,ArrayList
仍然持有对该对象的引用,因此它使用 list.add(new Person())
或 list.add(p)
.
无论哪种方式,您都可以使用 list.get(index)
检索对 Person
的引用,然后执行您希望的任何方法。
一个对象存在于 JVM 内存堆中,并且没有名称这样的东西。它可以由可以是列表或单个元素的变量引用。对于列表,您可以通过索引访问列表元素来引用对象。
我认为 Person-Object 的名称并不重要。
您可以简单地使用 list.get(int number)
访问它。
这将为您提供对该位置元素的引用。
希望我正确理解了您的问题,这对您有所帮助。
该名称仅供开发者参考,实际运行时并不需要。 要访问您的对象,您将使用:
List<Person> list = new ArrayList<Person>(); // Create the list
list.add(new Person()); // Add the person to the list
list.get(0); // Returns the person you added
如果您想从列表中获取特定的人,我建议使用 HashMap 并将他们的名字存储为键。
我认为您可能混淆了对象的创建与分配对该对象的引用。在您的示例中,p 是对您创建的对象 Person 的引用。您没有将该对象命名为 p,但是有一个名为 p 的引用指向对象 person。
要从 list.add(new Person()) 创建对 person 对象的引用,您只需执行
Person p = list.get(0)