Ist es möglich, eine Methode nur einmal auszuführen?

8

Ich habe eine for-Schleife und Struktur wie folgt:

%Vor%

Ist es möglich, dass eine Methode in der for-Schleife nur einmal ausgeführt wird?

    
Gandalf StormCrow 19.04.2010, 08:05
quelle

8 Antworten

31

Sicher! ..

%Vor%     
Rosdi Kasim 19.04.2010, 08:10
quelle
4

Sie können die if() vermeiden, indem Sie diesen Trick anwenden:

%Vor%     
Aaron Digulla 19.04.2010 08:37
quelle
3

Sie können AtomicBoolean verwenden, um sicherzustellen, dass die Aufgabe nur beim ersten Mal aufgerufen wird:

%Vor%

Verwendung:

%Vor%     
Hover Ruan 25.07.2017 07:50
quelle
2

Vielleicht ist das Break-Keyword das, was Sie brauchen? Nach dem Ausführen der Methode Aufruf Pause; Es tut mir leid es ist nicht 100% klar, was Sie von Ihrer Frage meinen.

Schauen Sie hier von den Sun Docs

    
Paul Whelan 19.04.2010 08:08
quelle
2

In Java 8 können Sie dies effektiv mithilfe der automatischen Memo-Erstellung wie hier beschrieben tun: Tun Sie es in Java 8: Automatisch Memoisierung

Ich gebe zu, dass die Memoisierung als Overkill für ein "Run Once" -Szenario angesehen werden kann, aber es ist eine ziemlich saubere Alternative zu einigen, die in früheren Antworten beschrieben wurden.

Zum Beispiel:

%Vor%     
mkrufky 31.05.2017 14:55
quelle
1

Eine weitere Overkill-Lösung:

Je nachdem, was Sie tun möchten, könnte es möglich sein, einen statischen Initialisierungsblock zu verwenden.

%Vor%

Einfache Lösung:

Oder Sie möchten nur den ersten Teil außerhalb der Schleife ausführen:

%Vor%     
Mike 19.04.2010 10:57
quelle
1
%Vor%     
Ranga Reddy 20.12.2012 13:38
quelle
0

mein Beispiel aus meiner App:

%Vor%

dann:

%Vor%     
Joolah 15.06.2015 07:56
quelle

Tags und Links