Java 无法从main()调用Arraylist到main()之外的另一个方法

Java 无法从main()调用Arraylist到main()之外的另一个方法,java,arraylist,methods,Java,Arraylist,Methods,我在publicstaticvoidmain(String[]args) 使用以下代码: ArrayList<kistenEigenschaften> kisten = new ArrayList<kistenEigenschaften>(75); ArrayList kisten=新的ArrayList(75); kistenEigenschaften在其自己的类中正确定义 但现在我想在followwing方法中调用该ArrayList: public static

我在
publicstaticvoidmain(String[]args)

使用以下代码:

ArrayList<kistenEigenschaften> kisten = new ArrayList<kistenEigenschaften>(75);
ArrayList kisten=新的ArrayList(75);
kistenEigenschaften在其自己的类中正确定义

但现在我想在followwing方法中调用该ArrayList:

public static void kistenListe() {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }
公共静态void kistenListe(){
System.out.println(“Sie haben”+kisten.size()+“kisten am lager”);
对于(int i=0;i
在main()之外

但似乎不能在main()之外调用arraylist


尝试了搜索功能,但找不到任何解决方案,如果已经提到,则很抱歉。

您有两种可能的解决方案:

第一:将列表添加为参数:

public static void main(String[] args) {
   ArrayList<kistenEigenschaften> kisten = new ArrayList<kistenEigenschaften>(75);
   ....
   kistenListe(kisten);
}

public static void kistenListe(List<kistenEigenschaften> kisten) {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }
publicstaticvoidmain(字符串[]args){
ArrayList kisten=新ArrayList(75);
....
kistenListe(kisten);
}
公共静态void kistenListe(列表kisten){
System.out.println(“Sie haben”+kisten.size()+“kisten am lager”);
对于(int i=0;i
第二:将kisten声明为类属性:

 ArrayList<KistenEigenschaften> kisten 

public static void main(String[] args) {
   kisten = new ArrayList<KistenEigenschaften>(75);
   ....
   kistenListe();
}

public static void kistenListe() {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }
ArrayList kisten
公共静态void main(字符串[]args){
kisten=新阵列列表(75);
....
kistenListe();
}
公共静态void kistenListe(){
System.out.println(“Sie haben”+kisten.size()+“kisten am lager”);
对于(int i=0;i
请注意Java命名约定。类名应以大写字符开头

不要在属性和方法名称中使用德语umlauts


getidNr()
应该是
getidNr()

在main方法之外定义
ArrayList
。将ArrayList添加为
kistenListe
的参数,或者将列表定义为类的属性,而不是主函数中的局部变量