Labels

T

Tomate_Salat

Gast
Java:
INNER: for(int i=0;i<10;i++) {
	OUTER: for(int j=0;j<10;j++) {
		System.out.println(i + " | " + j);
		if(j==i)
			continue INNER;
		else
			continue OUTER;
	}
}

ich wusste garnicht, dass soetwas geht. Jz frage ich mich: wie gut ist soetwas, kann man das bedenkenlos verwenden? Wenn man z.B. ein konstrukt hat wie:
Java:
erste:for(...
    zweite:for(...
        dritte:for(...
ist es sicherlich praktisch, wenn man mitten in der dritten mit der ersten fortfahren möchte.
 

André Uhres

Top Contributor
Das ist nicht zum Verwenden. Es ist aber gut zu wissen, dass es so was gibt, für den Fall dass einer es trotzdem verwendet.

Gruß,
André
 

XHelp

Top Contributor
Du kannst sogar die selben Namen verwenden, solange die nicht verschachtelt sind. Und damit kannst du Leute verwirren:
Code:
public static void main(String[] args) {
  http://www.java-forum.org
  System.out.println("Kompiliert und läuft ohne Probleme");
}
... aber ich schweife ab.
In manchen Fällen ist es nützliche sowas verwenden zu können. Allerdings kann man meistens das Problem geschickter lösen, wenn man 1 Minute länger nachdenkt. Wenn man es also sinnvoll und nur dann, wenn es unbedingt nötig, einsetzt, ist es kein Problem. Ich finde die Labels sollten eins der bestgehüteten Geheimnissen vor Anfänger sein, weil da nur Mumpiz rauskommt, wenn man es unüberlegt einsetzt.
Der andere Punkt ist Lesbarkeit. Durch die verwendung von basic-goto-ähnlichen Konstrukten ist es ziemlich schwer nachzuvollziehen was da passiert.

Edit: ich kam noch nie in die Situation Labels verwenden zu müssen oder ein Code gesehen, wo die Verwendung von Labels nützlicher wäre
 
Zuletzt bearbeitet:

André Uhres

Top Contributor
Die Eigenart von Labels kann zu großer Verwirrung und Spaghetti-Code führen. Labels sieht man auch höchstens alle Jubeljahre einmal.

Es wäre wohl nützlicher gewesen, wenn die Java Entwickler statt dessen die Verwendung von Schlüsselwort-Argumenten eingeführt hätten. Das ist zwar ein anderes Thema, aber ich wundere mich nur, dass man solchen Unfug wie die Labels einführt, während nützliche Dinge lange auf sich warten lassen. Aber vielleicht bringt Java 7 ja etwas in der Richtung.

Gruß,
André
 
T

Tomate_Salat

Gast
In der Situation war ich auch noch nicht, und eben weil es mich an goto erinnerte, war ich mir über die Verwendung nicht sicher. Bin bisher ohne ausgekommen und werde es auch in Zukunft.
 

Ähnliche Java Themen

Neue Themen


Oben