Java 如何从其他类访问ArrayList?
我在一个类中创建了一个arraylist,单击一个JButton并切换到另一个面板和另一个类后,我希望能够访问它并生成一个随机数。我该怎么做Java 如何从其他类访问ArrayList?,java,swing,arraylist,random,integer,Java,Swing,Arraylist,Random,Integer,我在一个类中创建了一个arraylist,单击一个JButton并切换到另一个面板和另一个类后,我希望能够访问它并生成一个随机数。我该怎么做 ArrayList<Integer> hiraganaArray = new ArrayList<Integer>(); OCheckBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) {
ArrayList<Integer> hiraganaArray = new ArrayList<Integer>();
OCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
hiraganaArray.add(1);
hiraganaArray.add(2);
hiraganaArray.add(3);
hiraganaArray.add(4);
hiraganaArray.add(5);
}
else {
hiraganaArray.removeAll(Arrays.asList(1));
hiraganaArray.removeAll(Arrays.asList(2));
hiraganaArray.removeAll(Arrays.asList(3));
hiraganaArray.removeAll(Arrays.asList(4));
hiraganaArray.removeAll(Arrays.asList(5));
}
}
startButton = new JButton("Start");
startButton.setPreferredSize(new Dimension(100, 40));
gbc.gridx = 3;
gbc.gridy = 13;
add(startButton, gbc);
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
layout.show(panelCont, "6");
}
});
对于JButton的动作监听器,相同的代码在另一个类中使用时不起作用。我已经找到了答案!我需要将第一个类中的代码更改为:
static ArrayList<Integer> hiraganaArray;
public ArrayList<Integer> getHiraganatArray() {
return hiraganaArray;
}
System.out.println(HiraganaClass.hiraganaArray.get(r.nextInt(HiraganaClass.hiraganaArray.size())));
你真的应该仔细了解什么是静态变量。您的解决方案可能会给您带来很多问题。它似乎可以正常工作,但不会造成任何问题。你能详细说明一下吗?
System.out.println(HiraganaClass.hiraganaArray.get(r.nextInt(HiraganaClass.hiraganaArray.size())));