gpt4 book ai didi

Java - ArrayList 和创建一个对象

转载 作者:行者123 更新时间:2023-12-01 05:52:17 25 4
gpt4 key购买 nike

标题问题有点棘手,所以这是我的问题:

1- 我创建了一个 arraylist 的对象 y 并将其指定为一个引用变量,到目前为止一切顺利。

ArrayList<String> y = new ArrayList<String>();

2- 这里我向数组添加了一个元素:

y.add("Hello"); y.add("GoodBye");

现在这是我不明白的部分,现在当我创建一个返回字符串的方法时:

public String stringful(ArrayList<String> list)

现在,当我尝试获取数组的 size() 时,我使用 list.size() 但为什么呢? y 不是原始对象吗,我应该使用 y.size() 尽管它不起作用,所以这就是我来这里的原因。谢谢

最佳答案

使用这个方法头:

public String stringful(ArrayList<String> list)

您声明此方法将使用类型为 ArrayList<String> 的对象称为 list .因为你声明y在本地,另一种方法甚至不知道存在。引用y来自该方法的代码将无法编译,当然假设它是一个局部变量。

Java 中的指针

当您创建一个新对象时,您使用指向该对象的指针。例如,当您声明:

ArrayList<String> y;

您正在创建一个指针。添加代码时:

ArrayList<String> y = new ArrayList<String>();

这会将指针指向一个新的 ArrayList<String>对象进入 y多变的。所以当你通过 y作为方法的参数,您将传递一个指向对象的指针 y也指向,不是对象本身。这就是为什么您的代码适用于 list.size() .它所做的就是获取 size完全相同对象的值,只是指针不同。

总结

总而言之,它实际上同一个对象。只是不同的指针,看着那个对象。

关于Java - ArrayList 和创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403992/

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