【发布时间】:2015-03-23 19:24:18
【问题描述】:
我有一个班级erdbuilder 和另一个班级SQL。我的erdbuilder 类允许我绘制形状并将它们存储在数组列表Connection 中。然后我从SQL 类访问arraylist Connection,我将从arraylist 中检索数据。我在erdbuilder 有一个主类
我想从 erdbuilder 类运行 SQL 类
我有这个可以访问我的SQL 课程,但不确定这是否是正确的方法。
这是我从 erdbuilder 类调用 SQL 类的部分代码
if ((rect != null) && (ell != null)) {
con.add(new Connection(rect,ell));
System.out.println("Size of ArrayList <Connection> is:" + con.size());
SQL sql = new SQL();
sql.display();
}
这是我的SQL 课程。
package project;
import java.awt.Shape;
import java.util.ArrayList;
import project.ERDBUILDER.DrawingBoard.Attribute;
import project.ERDBUILDER.DrawingBoard.Connection;
import project.ERDBUILDER.DrawingBoard.NamedShape;
public class SQL {
public void display() {
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");
}
}
}
实际上,当我运行erdbuilder 类时,它并没有调用sql 类。怎么了?谁能帮我解决这个问题?
【问题讨论】:
-
您是否应该通过 ArrayList
con = new ArrayList(); 在 SQL.display() 中(重新)声明您的数组列表?似乎 con 是在 SQL 类范围之外创建的现有数组列表,这意味着它应该是要显示的参数,而不是新声明为局部变量。 -
它正在运行。但是当你运行它时,
con是一个新创建的数组列表,所以它是空的,所以循环甚至没有开始。 -
要么是 (rect == ell == null),要么是 con.size()==0; (java中没有“不调用”之类的东西。它编译对吗?)
标签: java sql class arraylist erd