Обработка - конструктор ArrayList <Class>(Class) не существует - PullRequest
1 голос
/ 17 апреля 2020

я принципиально не понимаю 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 Ответ

2 голосов
/ 17 апреля 2020

Выполните любое из следующих действий:

  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));
...