Verbesserte for Schleife

ioannis_m

Mitglied
Hallo zusammen,

hier

Java:
import java.util.ArrayList;
import java.util.List;

public class ReturnArray {
    private final List<Integer> integersInStock = new ArrayList<Integer>();
    private final static Integer[] EMPTY_ARRAY = new Integer[0];
   
    private void fillArrayList(){
        integersInStock.add(3);
        integersInStock.add(6);
        integersInStock.add(8);
    }
   
   
    public Integer[] getIntegers(){
        return integersInStock.toArray(EMPTY_ARRAY);
    }
   
    public static void main (String[] args){
        ReturnArray returnArray = new ReturnArray();
        returnArray.fillArrayList();
        for (int i : returnArray.getIntegers())
//        for (int i=0; i < returnArray.getIntegers().length; i++)
        System.out.println(returnArray.getIntegers()[i]);
       
    }
}


funktioniert die for-Schleife einwandsfrei, die verbesserte for schmeißt aber eine

Java:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at ReturnArray.main(ReturnArray.java:24)

raus. Kennt vielleicht jemand den Hintergrund?

Danke & Gruß
ioannis
 
Mit der "verbesserten" for-Schleife (oder auch foreach-Schleife genannt) wird nicht der Index in die Variable 'i' gesetzt, sondern direkt der Wert aus dem Array. Somit reicht ein 'System.out.println(i)'

lg Kevin

PS: das war knapp JStein52 ^^
 

Neue Themen


Zurück
Oben