如何将我的数组列表的数据从一个 class 迁移到另一个 class

How to migrate the data of my arraylist from one class to another class

所以我有一个 ERDBUILDER.java class 是一个绘图面板,它允许我绘制存储在数组列表 Connection 中的形状。我想从另一个 class SQL.java 访问这个数组列表,并根据数组列表创建我的 sql 语句。我试过下面的代码,但我不知道主要的 class 应该如何。我试图将 new SQL(); 放在主 class 中,但它打开了另一个 ERDBUILDER.java class 而这不是我想要的。 那么我如何 运行 这个,主要 class 应该如何?

已编辑 有人可以帮忙吗?

package project;
import java.awt.Shape;
import java.util.ArrayList;
import project.ERDBUILDER.DrawingBoard.Attribute;
import project.ERDBUILDER.DrawingBoard.Connection;
import project.ERDBUILDER.DrawingBoard.Connection2;
import project.ERDBUILDER.DrawingBoard.NamedShape;


public class SQL {

public static void main(String args[]){
       ArrayList<Connection> con = new ArrayList<>();
       
        for (int a = 0; a < con.size(); a++) {
                                    NamedShape f = con.get(a).getNamedShape1();
                                    Attribute g = con.get(a).getNamedShape2();
                                    String i = f.getName();
                                    String j = g.getName();

                                    Shape y = f.getShape();
                                    Shape y1 = g.getShape();
                                    System.out.println(i + " AND " + j + " are linked");
                                    
                                    
                                    
                                   
        }
   }    
   
}

创建一个 class 的实例,您要在其中创建 SQL 语句并将连接 ArrayList 传递给该 class。

List<Connection> con = new ArrayList<>();
ERDBuilder x = new ERDBuilder(con);

您的 ERDBuilder 构造函数可以采用 List 对象并使用它来构建 SQL 语句。或者您甚至可以在 ERDBuilder 的方法中执行此操作。那是你的选择。

ERDBuilder x = new ERDBuilder();
List<Connection> con = new ArrayList<>();
x.buildSql(con);

如果你想从 main 开始,那么你必须将 List 声明为 Class 级别变量,就像你对 ERDBuilder 所做的那样。