Java: Anonyme innere Klasse unter Verwendung einer lokalen Variablen

Wie kann ich den Wert von @ erhalteuserId hier in meiner anonymen inneren Unterklasse an diese Methode übergeben?

public void doStuff(String userID) {
    doOtherStuff(userID, new SuccessDelegate() {
        @Override
        public void onSuccess() {
            Log.e(TAG, "Called delegate!!!! "+ userID);
        }
    });
}

Ich erhalte diesen Fehler:

Kann nicht auf eine nicht endgültige Variable userID in einer inneren Klasse verweisen, die in einer anderen Methode definiert wurde

Ich bin mir ziemlich sicher, dass ich es nicht als endgültig zuweisen kann, da es sich um eine Variable mit einem unbekannten Wert handelt. Ich hatte gehört, dass diese Syntax in gewisser Weise den Gültigkeitsbereich bewahrt. Ich denke, es muss einen Syntaxtrick geben, den ich noch nicht genau kenne.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage