У меня есть этот код, который отлично работает:
String name = "Oscar";
CompletableFuture.runAsync(() -> doX(name));
Теперь мне нужно добавить немного логики в переменную name
:
String name = "Oscar";
if (x){
name = "Tiger";
}
CompletableFuture.runAsync(() -> doX(name));
Но теперь компилятор жалуется на Variable used in lambda expression should be final or effectively final
Я понимаю из постов типа этот , что name
должно быть final
или эффективно финальным, но мне интересно, есть ли способ написать код по-другому, чтобывключить логику для переменной name