java将对象添加到arrayList

java将对象添加到arrayList,java,Java,我读了很多其他的东西,但似乎找不到答案 不知道如何编写add方法。我收到一个堆栈溢出错误。它似乎运行无限,我不知道为什么 另外,我只是想确认是否可以编写一个打印函数来打印arraylist myPolygon中的所有内容,对吗 类不规则多边形{ 私有数组列表; //建设者 公共多边形(){} //公共方法 public void add(Point2D.Double aPoint){ //系统输出打印项次(“输入”); 这个。添加(aPoint); 系统输出打印项次(“完成”); //对于(Po

我读了很多其他的东西,但似乎找不到答案

  • 不知道如何编写add方法。我收到一个堆栈溢出错误。它似乎运行无限,我不知道为什么
  • 另外,我只是想确认是否可以编写一个打印函数来打印arraylist myPolygon中的所有内容,对吗
    类不规则多边形{
    私有数组列表;
    //建设者
    公共多边形(){}
    //公共方法
    public void add(Point2D.Double aPoint){
    //系统输出打印项次(“输入”);
    这个。添加(aPoint);
    系统输出打印项次(“完成”);
    //对于(Point2D.Double编号:myPolygon){
    //System.out.println(“Number=“+aPoint”);
    //     }  
    }
    }
    公共类应用程序{
    公共静态void main(字符串[]args){
    不规则多边形=新的不规则多边形();
    Point2D.Double point=新的Point2D.Double(1.2,2.3);
    系统输出打印项次(点);
    多边形。添加(点);
    }//主要
    }//类
    
    调用
    中的this.add(aPoint)
    是一个递归调用。这个方法调用自身,并且没有基本情况,因此一旦它足够深入地递归,就会产生
    StackOverflowerError

    看起来您想将其添加到
    ArrayList
    ,因此请更改

    this.add(aPoint);
    

    此外,您从未初始化过
    myPolygon
    ,因此它是
    null
    。初始化它:

    private ArrayList <Point2D.Double> myPolygon = new ArrayList<>();
    
    private ArrayList myPolygon=new ArrayList();
    
    谢谢!我试过了,但现在我得到了:polygon.add(point)上的线程“main”java.lang.NullPointerException中的异常;我想不出错误的参考文献在哪里。
    myPolygon.add(aPoint);
    
    private ArrayList <Point2D.Double> myPolygon = new ArrayList<>();