从另一个类访问arraylist

时间:2016-10-12 03:21:12

标签: java arraylist getter

我是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而不通过构造函数?如果我说错了,我很抱歉。提前谢谢。

4 个答案:

答案 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

如果您使用任何一种方法,则在两种情况下都需要引用变量来获取数据