处理-构造函数ArrayList <Class>(Class)不存在

时间:2020-04-16 21:17:28

标签: java arraylist processing

我从根本上不了解arraylist吗?为什么我不能创建类实例的数组列表?

我实际上只是想为我的类“ Vert”创建一个名为“ v1”的数组列表-这是相关代码

    class Vert{
      float x;
      float y;
      Vert(float x, float y){
        this.x=x;
        this.y=y;
      }
      float getX(){
        return x;
      }
      float getY(){
        return y;
      }
    }

    ArrayList<Vert> v1 = new ArrayList<Vert>(new Vert(-10,10),new Vert(10,-10));

我收到错误消息


    The constructor "ArrayList<shape_rendering.Vert>(Vert, Vert)" does not exist

似乎是唯一可能存在的构造函数?我在这里做错了什么

:: EDIT :: 所以这是类上下文中的'.add'方法


    class Vert{
      float x;
      float y;
      Vert(float x, float y){
        this.x=x;
        this.y=y;
      }
      float getX(){
        return x;
      }
      float getY(){
        return y;
      }
    }
    class Shape{
      ArrayList<Vert> verts;
      float h;
     Shape(ArrayList<Vert> verts,float h){
       this.verts = verts;
       this.h = h;
     }
     ArrayList<Vert> getVerts(){
       return verts; 
     }

    }



    ArrayList<Vert> v1 = new ArrayList<Vert>();
    v1.add(new Vert(-10,0));
    v1.add(new Vert(0,-10));
    v1.add(new Vert(10,0));
    v1.add(new Vert(0,10));



    Shape s1 = new Shape(new ArrayList<Vert>(v1),10);

    void drawShape(Shape s1){
      ArrayList<Vert> v = s1.getVerts();
      beginShape();
      for(int i = 0;i < v.size();i ++){
        vertex(v.get(i).getX(),v.get(i).getY());
      }
      endShape(CLOSE);
    }

    void setup(){
      size(400,400);
    }

    void draw(){
      background(255);
      drawShape(s1);
    }

我在所有添加行上都遇到语法错误-


    Syntax error on(s), misplaced construct(s)

1 个答案:

答案 0 :(得分:2)

执行以下任一操作:

  1. List<Vert> v1 = new ArrayList<Vert>(Arrays.asList(new Vert(-10,10),new Vert(10,-10)));
  2. List<Vert> v1 = List.of(new Vert(-10,10),new Vert(10,-10));
相关问题