我是Java的新手,我有一个 gui 类,它有一个GUI组件,它接受来自文本字段的输入,并将它传递给另一个类。按钮的动作监听器位于下方。
public void actionPerformed(ActionEvent action) {
arraylist.add(textField_1.getText());
arraylist.add(textField_2.getText());
arraylist.add(textField_3.getText());
arraylist.add(textField_4.getText());
}
因为它是一个void方法,所以我无法返回数组列表,因此Ii无法构造一个getter。
public ArrayList<String> getList(){
return this.arraylist;
}
有谁能告诉我如何从另一个类访问这个arraylist而不通过构造函数?如果我说错了,我很抱歉。提前谢谢。
答案 0 :(得分:1)
这是许多可能的方法之一。
只需定义另一个类,然后从setter
方法调用actionPerformed(..)
。
public class YourOtherClass {
private static ArrayList<String> arraylist;
public void setList(arrayList) {
this.arraylist = arraylist;
}
public ArrayList<String> getList() {
return this.arraylist;
}
}
现在你可以简单地将这个arraylist设置为:
public void actionPerformed(ActionEvent action) {
arraylist.add(textField_1.getText());
arraylist.add(textField_2.getText());
arraylist.add(textField_3.getText());
arraylist.add(textField_4.getText());
YourOtherClass.setList(arraylist);
}
现在,当您想要访问此列表的内容时,只需使用:
...
//any other method
ArrayList<String> arraylist = YourOtherClass.getList();
System.out.println(arraylist.get(0)); //or whatever
...
答案 1 :(得分:0)
如果我理解,你想要这样做:
public class A {
private ArrayList<String> arrayList;
public ArrayList<String> getArrayList() {
return this.arrayList;
}
}
public class B {
private A a = new A();
public void actionPerformed(ActionEvent action) {
a.getArrayList().add(textField_1.getText());
a.getArrayList().add(textField_2.getText());
a.getArrayList().add(textField_3.getText());
a.getArrayList().add(textField_4.getText());
}
}
答案 2 :(得分:0)
您可以将该arraylist设为静态并访问它。
要访问该特定的arraylist,请使用以下语法
classNameThatContainArraylist.yourArrayList
使用静态时要小心。
答案 3 :(得分:0)
如果您想用来设置和获取数据,那么有很多方法,其中有两种方法正在跟随
string
如果您使用任何一种方法,则在两种情况下都需要引用变量来获取数据