gpt4 book ai didi

java - java 如何删除指向数组中元素的指针

转载 作者:行者123 更新时间:2023-12-01 14:49:57 25 4
gpt4 key购买 nike

我是java新手,我正在尝试编写一个数组Stack现在我想避免在 pop() 函数中徘徊,

public class Stack {
private int[] s;
private int N=0;

public Stack(int capacity)
{
s= new int [capacity];
}

public boolean IsEmpty ()
{
return N==0;
}

public void push (int x)
{
s[N++]=x;
}

public int pop ()
{
int x=s[--N];
s[N]=null;
return x;
}

当它递减该值时,仍然存在指针对于已从堆栈中取出的元素,现在我尝试将已删除的项目设置为 null但编译器给了我异常(exception)

我该怎么做才能删除已删除项目的指针?!

最佳答案

您的数组存储的 int 值不是引用,并且 null 不是 int 类型的有效值。当您处理引用类型的值(例如 ObjectString)时,您使用的技巧很方便。在您的情况下,您可以将 0-1Integer.MIN_VALUE 分配给空元素,但不能分配 null 。此外,我认为在你的情况下,你可以保留原样的值:

public int pop ()
{
return s [--N];
}

关于java - java 如何删除指向数组中元素的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987462/

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