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.