Java, передать переменную в inner class
for ( int _i = 0; _i<MAX_BUTTONS;_i++){
int i = _i;
Нет, вроде. А что изменилось? Она все равно внешняя.
final int i = _i;
О, так работает.
была надежда, что может она с non-final(хз, что такое, первый раз слышу) поменяется на final.
Final это типа const.
Но мне кажется, это некошерно )
так работает нормально? просто я всегда передавал через конструктор листенера. теперь буду делать так, если так нормально.
так работает нормально?в шарпе такое работает нормально.
в java-е тоже должно, т.к. никакой мистики не должно быть.
В шарпе и жаве принципиально по-разному устроены замыкания. Но да, если с final жрёт, то должно работать.
В шарпе и жаве принципиально по-разному устроены замыкания.в чем именно разница?
Нет. В случае переменной ей звапрещается переприсваивание, в случае метода - override, в случае класса - наследование
В шарпе и жаве принципиально по-разному устроены замыкания. Но да, если с final жрёт, то должно работать.тк полного замыкания в джаве и нет, его только собираются вводить в следующей версии вместе лямбдами
а в шарпе есть лямбды? (ударение на слове есть, я просто не знаком с шарпом)
есть.
Оставить комментарий
Makc500
Есть такая процедура, которая создает обработчики нажатий на кнопку:Сейчас он пишет: Cannot refer to a non-final variable text inside an inner class defined in a different method
Как с этим борются?