Zurückkehren von einem statischen Initialisierungsblock in Java

7

Ich möchte vom statischen Block zurückkehren.

Sieht so aus, als ob die Rückgabe- und die Break-Anweisung nicht funktionieren. Gibt es eine Alternative?

Ich weiß, dass die schlechte Umgehungslösung ein Flag erstellen und das Flag zum Fortfahren überprüfen kann.

Ich verstehe, dass die Initialisierungsblöcke nicht für Berechnungen gedacht sind, sondern nur für die grundlegende Initialisierung während des Klassenladens.

    
saurabh agrawal 20.06.2012, 11:07
quelle

5 Antworten

18

Delegieren Sie den Code an eine private statische Methode:

%Vor%     
JB Nizet 20.06.2012 11:11
quelle
7

Anstatt return zu verwenden, wickle einfach deinen bedingten Code in ein if .

    
Kai 20.06.2012 11:09
quelle
1

Statische Initialisierer haben keine Probleme, daher ist es wahrscheinlich eine schlechte Idee (auch wenn Sie kein SESE kaufen).

Der einfachste Weg, um eine Rendite zu erzielen, ist eine markierte Pause.

%Vor%

Sie sind ziemlich selten und treten normalerweise in verschachtelten for -Schleifen auf. Die Neuheit könnte dem Leser den Tipp geben, dass etwas ein bisschen Zwielichtiges vor sich geht.

    
Tom Hawtin - tackline 20.06.2012 14:03
quelle
0

Sie können nicht von einem statischen Initialisierungsblock zurückkehren. Es gibt keinen Ort, zu dem man zurückkehren könnte. Aber es sollte nicht notwendig sein. Sie sollten in der Lage sein, Ihren Code so umzugestalten, dass er "einzelner Eintrag, einzelner Ausgang" ist.

    
Stephen C 20.06.2012 11:12
quelle
0

Sie können nicht vom statischen Block zurückkehren, sondern besser eine andere Funktion verwenden, die Ihre Logik ausführt und zum Block zurückkehrt.

    
amicngh 20.06.2012 11:13
quelle

Tags und Links