4 回答
TA贡献1820条经验 获得超10个赞
该数组应声明为类的静态字段。
private static ArrayList <Integer> intMarks;
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
int intEnter = Integer.parseInt(this.txtEnter.getText());
intMarks.add(intEnter);
}
public static void main(String args[]) {
intMarks = new ArrayList();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MarksCalculator().setVisible(true);
}
});
}
TA贡献1831条经验 获得超10个赞
在您的代码中,arraylistintMarks不是全局的,它是main方法的局部变量。
要使其成为全局变量,您必须使其成为您班级的直接变量。
class ClassName{
private static ArrayList <Integer> intMarks;
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
int intEnter = Integer.parseInt(this.txtEnter.getText());
intMarks.add(intEnter);
}
public static void main(String args[]) {
intMarks = new ArrayList<>();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MarksCalculator().setVisible(true);
}
});
}
}
此外,您必须使静态在方法intMarks中使用它main
TA贡献1875条经验 获得超3个赞
您可以使用单例设计模式。
public class Singleton {
private ArrayList<Object> arrayList;
private static Singleton instance;
private Singleton(){
arrayList = new ArrayList<Object>();
}
public static Singleton getInstance(){
if (instance == null){
instance = new Singleton();
}
return instance;
}
public ArrayList<Object> getArrayList() {
return arrayList;
}
}
您可以在任何课程中增加价值。
public class ExampleClass{
Singleton.getInstance().getArrayList().add(sampleObject);
}
TA贡献1809条经验 获得超8个赞
如果 arraylist 是全局的,那么它可以在同一类的任何函数中的任何地方访问。虽然您可以添加 mArrayListName.add(1); 之类的值 即对于int类型的arraylist
添加回答
举报