Erweiterte For Schleife

protectedzone

Aktives Mitglied
Soll ich die erweiterte For-Schleife verwenden?

Normal:

Java:
for (int i = 0; i < buildings.length; i++) {
            buildings[i].doSomthing();
}

Was mit Netbeans empfehlt:

Java:
for (Building building : buildings) {
            building.doSomthing();
}

Sollte ich wegen der Performance wegen die zweite Variante wählen oder besteht der Unterschied nur bei der Syntax?

Grüsse, pZone
 
Die zweite Version nennt sich Fast-Enumeration[...]

Dafür bitte mal eine seriöse Quelle posten.

Die erweiterte For-Schleife bzw. "enhanced For-Loop" verwendet implizit einen Iterator und erzeugt auch mehr Byte-Code. Und wenn man sich dumm anstellt und damit z.B. über ein int-Array itertiert schlägt schön das Autoboxing zu was der Geschwindigkeit nicht wirklich zuträglich ist. Für das Beispiel ist das jedoch nicht relevant.
 
5 Sekunden ausprbieren? - Ohne Eigeninitiative wird das nix ;D

Java:
package de.uni.parser.core;

public class Test {

	public static void main(String[] args) {
		int[] array = new int[10];
		
		for(int i : array) {
			System.out.println(i);
		}
	}

}

Und Fast Enumaration ist das nicht in Java 😉
 
Hi
Autoboxing ist ja zum Beispiel int zu Integer.
Sehe ich das richtig, dass das kein Autoboxing ist:


Java:
int[] array = new int[10];
 
		for(int i : array) {
			i++;
		}

Das aber schon:

Java:
int[] array = new int[10];
 
		for(int i : array) {
			System.out.println(i);
		}

?
 

Zurück
Oben