1 год назад
Java 1102. К каким переменным есть доступ у лямбда-выражений?
В лямбда-выражениях в Java можно обращаться к локальным переменным, объявленным во внешнем блоке. Однако такие переменные должны быть объявлены как final или effectively final. Это значит, что значение переменной не может быть изменено после присвоения. Например, следующий код корректен, потому что переменная i объявлена как final: final int i = 42; Runnable r = () -> System.out.println("The answer is " + i); А вот следующий код выдаст...
1 год назад
Java 763. Какие особенности инициализации final переменных?
В Java переменные final могут быть инициализированы только один раз. Инициализация final переменных может происходить как при их объявлении, так и в конструкторе класса. Важно отметить, что не инициализированная final переменная является ошибкой во время компиляции. Если final переменная имеет ссылочный тип данных, то после ее инициализации вы можете изменять ее содержимое, но нельзя присвоить ей новое значение: public class Example { final int x = 1; // объявление и инициализация final переменной...