alleinstehende geschweifte Klammern

Ratzer

Mitglied
Hallo!
Ich habe sowas noch nie gesehen. Was beudeten geschweifte Klammern, wenn sie nicht an irgendeinen Rumpf gekoppelt sind, also sowas:
Java:
class X {
	{
		f();
		g();
	}

	private void f() {
	}

	private void g() {
	}
}
Wenn man sie weglässt, gibt es natürlich einen Compiler-Fehler. Aber warum funktioniert das? Ist das irgendwie eine verkürzte Schreibweise für irgendwas?
 

Landei

Top Contributor
Manche Menschen (ich nicht) nutzen das z.B. zur Initialisierung von Collections:

Java:
public class Foo {
  private List<String> list = new ArrayList(){{ add("one"}; add("two"); add("three"); }};
}

Ich denke, das muss nicht sein. Insbesondere ist [c]list[/c] hier keine [c]ArrayList[/c], sondern eine anonyme Unterklasse von [c]ArrayList[/c].

Eine Alternative für obige Lösung ist:
Java:
import static java.util.Array.asList;
public class Foo {
  private List<String> list = new ArrayList(asList("one", "two", "three"));
}

Für [c]Map[/c]s gibt es allerdings keine so nette Variante.
 
Zuletzt bearbeitet:

musiKk

Top Contributor
Manche Menschen (ich nicht) nutzen das z.B. zur Initialisierung von Collections:

Ich finde es nicht gut, dass diese Unsitte grundlos thematisiert wird - gerade im Anfängerforum. Bei anderen Themen zählen wir ja auch nicht gleich alle möglichen Anti-Pattern auf, die mit einer bestimmten Technik möglich sind. Es ist hier zwar negativ bewertet, aber schlechte Werbung ist manchmal auch Werbung.
 

Landei

Top Contributor
Andere "einleuchtende" Anwendungen sind mir halt nicht eingefallen. Und was spricht dagegen, Antipattern kennenzulernen?
 

Noctarius

Top Contributor
Doch z.B. für Unittests von ServletFiltern oder ähnlichem. Ich habe innerhalb des Unittests eine anonyme Subclass des Filters erzeugt und darin die Konfiguration gesetzt, welche normal automatisch durch die ServletConfig gemacht wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
M for schleife ohne geschweifte Klammer Java Basics - Anfänger-Themen 15
A Hat jemand einen ratschlag, wie java beim replaceALL eine geschweifte klammer erkennt ? Java Basics - Anfänger-Themen 5
K Erste Schritte Geschweifte Klammern Java Basics - Anfänger-Themen 12
E Regex für geschweifte Klammern? Java Basics - Anfänger-Themen 10
Daniel_L Geschweifte Klammern nutzen oder nicht? Java Basics - Anfänger-Themen 3
W Problem mit Programm (geschweifte Klammern setzen) Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Eckige Klammern werden nicht erkannt Java Basics - Anfänger-Themen 1
J Klammern werden fälschlicherweise eingelesen Java Basics - Anfänger-Themen 2
T split innerhalb Klammern ignorieren? Java Basics - Anfänger-Themen 6
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
D Werte in eckige Klammern finden Java Basics - Anfänger-Themen 3
D Compiler-Fehler kurze Frage (Fehler): runde Klammern im Println Java Basics - Anfänger-Themen 3
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
F while Schleife ohne Klammern Java Basics - Anfänger-Themen 9
N enum vergleiche Klammern? Java Basics - Anfänger-Themen 5
H Nur Zahlen, Klammern und Operatoren Java Basics - Anfänger-Themen 3
H Wohlgeformte Klammern Java Basics - Anfänger-Themen 26
M keine geschwungenen Klammern Java Basics - Anfänger-Themen 9
B Text zwischen geschweiften klammern Java Basics - Anfänger-Themen 11
B bestimmte klammern im string ersetzten Java Basics - Anfänger-Themen 17
B Klammern im String Java Basics - Anfänger-Themen 9
T Syntax für .split mit Klammern Java Basics - Anfänger-Themen 2
StrikeTom Per regex string zwischen klammern raussuchen Java Basics - Anfänger-Themen 14
Luk10 Wo zum Teufel fehlen Hier Klammern? Java Basics - Anfänger-Themen 2
K println - Klammern von Operationen Java Basics - Anfänger-Themen 4
W Suche nach strings zwischen eckigen Klammern mittels regulärer Ausdrücke Java Basics - Anfänger-Themen 3
D Klammern in regulären Ausdrücken Java Basics - Anfänger-Themen 2
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
Developer_X Problem mit Klammern im Code Java Basics - Anfänger-Themen 17
M Wie ersetzt man einen String mit eckigen Klammern Java Basics - Anfänger-Themen 5
E Irgendwo fehlen Klammern ? Java Basics - Anfänger-Themen 6
B Was steht innerhalb von solchen <.> Klammern Java Basics - Anfänger-Themen 2
H Klammern bei replaceAll-Methode Java Basics - Anfänger-Themen 3
E Klammern in einem String entfernen! Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben