【发布时间】:2015-03-12 11:34:02
【问题描述】:
我知道这可能是一个基本问题,但我为这个问题得到的代码不适用于我的数组列表。可能有人可以帮我解决这个问题。我想访问Testing1.Java 类的数组列表“Connection”,并在另一个名为SQL.Java 的类中使用它。我的数组“Connection”是另一个数组“NamedShape”的对象。
这是我的 2 个数组列表:
ArrayList<NamedShape> shapes = new ArrayList<NamedShape>();
ArrayList<Connection> con = new ArrayList<Connection>();
public class Connection {
private NamedShape namedShape1;
private NamedShape namedShape2;
public Connection(NamedShape namedShape1, NamedShape namedShape2) {
this.namedShape1 = namedShape1;
this.namedShape2 = namedShape2;
}
public NamedShape getNamedShape1() {
return namedShape1;
}
public NamedShape getNamedShape2() {
return namedShape2;
}
public void setNamedShape1() {
this.namedShape1 = namedShape1;
}
public void setNamedShape2() {
this.namedShape2 = namedShape2;
}
}
public class NamedShape {
private String name;
private Shape shape;
public NamedShape(String name, Shape shape) {
this.name = name;
this.shape = shape;
}
public String getName() {
return name;
}
public Shape getShape() {
return shape;
}
}
我在Testing1.Java 中添加了一个getConnection 方法。数据被正确插入到 Arraylist 连接中(我没有放代码来添加数据,但是数据被正确插入,这不是问题)
public ArrayList<Connection> getConnection() {
return con;
}
这是我的试用版SQL.Java,但它无法识别这里的 getConnection() 方法:
import java.util.ArrayList;
public class SQL {
private Testing1 sql;
public SQL(){
sql = new Testing1();
ArrayList<Connection> con = sql.getConnection()
}
public static void main(String args[]){
new Test();
}
}
有人可以帮我解决这个问题吗?
已编辑
我已经阅读并遵循了您所说的内容,现在我有了这个,但我不知道主要应该是什么。所以我给我的班级Testing1.java 打电话给ERDBUILDER.java。我的 ERDBUILDER 类允许我绘制形状,经过一些处理后,形状存储到数组列表Connection。然后我有我的类SQL.java,我想通过从ERDBUILDER.java 调用类SQL.java 来使用该数组列表Connection,但我不希望java 打开另一个ERDBUILDER.java。我已将new SQL(); 放在主要位置,但它正在打开另一个ERDBUILDER.java,这不是我想要的。你能提出一些建议吗?我可能是一个基本问题,但我仍然找不到方法。
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 {
private ERDBUILDER sql;
public SQL(){
sql = new ERDBUILDER();
ArrayList<Connection> con = sql.getDrawingBoard().getConnection();
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();
}
}
public static void main(String args[]){
}
}
【问题讨论】:
-
请包含这些代码 sn-ps 来自的文件的名称,例如
SQL.java等。 -
你能把你的
Testing1类的源贴出来 -
Testing1 类在哪里
-
顺便说一下,您将“Connection”和“NamedShape”都称为数组。这些都不是数组。您确实有两个名为
shapes和con的字段,但它们是相关对象的 ArrayList,而不是数组。为避免混淆(对您自己和他人),可能值得纠正这一点。 -
@richzilla 它告诉我我已经超过了字符数。这就是为什么我没有发布Testing.Java。我的数组位于我的 Testing1.Java 中,并且数据被添加到数组“Connection”中所以我只想从 Testing1.Java 访问数组“Connection”并将其用于 Sql.Java
标签: java arrays class arraylist getter