有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数据结构Java堆栈peek

大家好,我想知道一些关于Java堆栈的事情。peek()是否返回对堆栈顶部实际对象的引用或对象的副本?例如,如果我运行以下代码:

Stack.peek().setName("name");

这会修改当前位于堆栈顶部的对象的名称字段,还是修改为一个完全不同的对象,其所有字段的值都相同


共 (4) 个答案

  1. # 1 楼答案

    绝对是参考资料。它将更改名称

  2. # 2 楼答案

    因为peek返回一个对象的引用,所以它会被修改

  3. # 4 楼答案

    一般来说,Java中很少有代码可以随意创建对象的副本peek将返回堆栈顶部的引用。。。不要忘记,对象首先不在堆栈上,只有引用

    因此,在您的示例中,您确实需要修改堆栈上的引用引用的对象的名称