【问题标题】:ArrayList (beginner ) [closed]ArrayList(初学者)[关闭]
【发布时间】:2025-03-26 19:55:02
【问题描述】:

所以我第一次尝试在 ArrayList 上执行此任务,但遇到一条我不知道如何处理的错误消息。 所以首先我构建了一个名为 ArrayList 的类:其中的一些代码如下:-

public class ArrayList
{
    ArrayList list = new ArrayList();

    public void add(Object a, int index)
    {
        list.add(null,0);
        list.add(a,index);
    }

    public void insert(Object b, int index)
    {
        list.add(b,index);
    }

    public Object remove(int index)
    {
        Object c = get(index);
        list.remove(index);
        return c;
    }

    public Object get(int index)
    {
        return (list.get(index));
    }

    public int size()
    {
        int length = list.size();
        return length;
    }
    }

它有更多代码,但我认为对于我的问题,这已经足够了。 因此,在那之后,我构建了另一个包含我的主要测试驱动程序的类:-

public class DataStructuresDriver
{
    public static void main(String[] args) 
    {
        //stackTests();
        //queueTests();
        arrayListTests();
    }

    private static void arrayListTests() 
    {

        //todo: make more tests here
        ArrayList a = new ArrayList();
        a.add('A',2);
        a.insert('B', 0);
        a.insert('a',0);
        a.insert('t',1);

        System.out.println(a.toString());

        while(a.isEmpty() == false) 
        {
            System.out.println(a.remove(0));
        }

    }

当我编译这两个类时,我没有收到任何错误,但是当我运行我的主代码时,它给我 java.lang.*Error null,所以不知道如何继续?

【问题讨论】:

  • 标题应该反映你的问题(ArrayList(初学者))不是问题;类似于“尝试将 x 添加到 ArrayList 时出现 * 错误”)。此外,我们需要堆栈跟踪和您收到的错误的全文,以便此问题对其他人有用。
  • 名称冲突 - 尝试更改外部类名称或代替“ArrayList list = new ArrayList()”尝试“java.util.ArrayList list = new java.util.ArrayList()”跨度>
  • @Bret 确实如此。但也许 OP 应该首先清理问题......另外,我不确定 OP 是否真的想使用 java.util.ArrayList 或者只是对事情应该如何工作有一些扭曲的想法。
  • 如果你的任务是学习Java的ArrayList,你甚至不需要你的ArrayList类。只需将其删除并导入 java.util.ArrayList。 ;)
  • @Neha,欢迎来到 SO!为确保您的问题得到解答,请在此站点上进行搜索以查看该问题是否已被提出,然后阅读 How do I ask a good question 页面以帮助确保您的问题得到解答(并获得这些声誉积分!)

标签: java bluej


【解决方案1】:

您已定义自定义ArrayList 类的每个实例本身将包含ArrayList 类的实例。在您创建一个实例的那一刻,线程将继续创建无限多个实例,直到您获得如您所见的*Error

【讨论】: