Hallo zusammen,
ich habe ein Verständnisproblem bei der FOREACH-Schleife.
Einfach gefragt, warum bringt starteBsp1 ein anderes Ergebnis als starteBsp2? :bahnhof:
Wieso bleiben im ersten Beispiel die Strings eins, zwei und drei = "leer"? :bahnhof:
Mache ich nicht das Gleiche? ;(???:L
Ergebnis:
Sorry für den vielen Code, aber ich wusste nicht was reicht um mein Problem darzustellen...
LG 100mg
ich habe ein Verständnisproblem bei der FOREACH-Schleife.
Einfach gefragt, warum bringt starteBsp1 ein anderes Ergebnis als starteBsp2? :bahnhof:
Wieso bleiben im ersten Beispiel die Strings eins, zwei und drei = "leer"? :bahnhof:
Mache ich nicht das Gleiche? ;(???:L
Java:
package eachforschleife;
import java.util.*;
public class Main {
public static void main(String[] args) {
starteBsp1();
starteBsp2();
}
public static void starteBsp1 (){
ArrayList<String> lMeineStrings = new ArrayList<String>();
String eins = "leer";
String zwei = "leer";
String drei = "leer";
lMeineStrings.add(eins);
lMeineStrings.add(zwei);
lMeineStrings.add(drei);
int iCounter = 0;
System.out.println("Beginn Beispiel 1");
for (String y : lMeineStrings){
y="Nr. "+iCounter;
System.out.println("y" + iCounter + "= " +y);
iCounter++;
}
System.out.println("-------------");
System.out.println("eins= " + eins);
System.out.println("zwei= " + zwei);
System.out.println("drei= " + drei);
System.out.println("-------------");
}
public static void starteBsp2 () {
ArrayList<MeinObjekt> lMeineObjekte = new ArrayList<MeinObjekt>();
MeinObjekt eins = new MeinObjekt();
MeinObjekt zwei = new MeinObjekt();
MeinObjekt drei = new MeinObjekt();
lMeineObjekte.add(eins);
lMeineObjekte.add(zwei);
lMeineObjekte.add(drei);
int iCounter = 0;
System.out.println("Beginn Beispiel 2");
for (MeinObjekt x : lMeineObjekte){
x.sName="Nr. "+iCounter;
System.out.println("x" + iCounter + "= " +x.sName);
iCounter++;
}
System.out.println("-------------");
System.out.println("eins= " + eins.sName);
System.out.println("zwei= " + zwei.sName);
System.out.println("drei= " + drei.sName);
System.out.println("-------------");
}
}
class MeinObjekt {
public String sName = "leer";
}
Ergebnis:
Code:
Beginn Beispiel 1
y0= Nr. 0
y1= Nr. 1
y2= Nr. 2
-------------
eins= leer
zwei= leer
drei= leer
-------------
Beginn Beispiel 2
x0= Nr. 0
x1= Nr. 1
x2= Nr. 2
-------------
eins= Nr. 0
zwei= Nr. 1
drei= Nr. 2
-------------
Sorry für den vielen Code, aber ich wusste nicht was reicht um mein Problem darzustellen...
LG 100mg
Zuletzt bearbeitet: