Size: a a a

2020 June 12

C☭

Chadwick ☭ in learn.java
привет! в каких случаях нужно внутри функции объявлять переменные с модификатором final?
источник

S

Sergei in learn.java
Chadwick ☭
привет! в каких случаях нужно внутри функции объявлять переменные с модификатором final?
Примерно ни в каком.
источник

S

Sergei in learn.java
В теории - всегда хорошо объявлять final, чтобы компилятор автоматически следил за попытками их пенезаписать.

На практике локальные переменные тут объявил - на следующей строке использовал. Всё перед глазами, ошибиться сложно. final при этом только код замусоривает.
источник

C☭

Chadwick ☭ in learn.java
Sergei
Примерно ни в каком.
коракуль другого мнения... https://docs.oracle.com/javase/specs/jls/se9/html/jls-8.html#jls-8.1.3
источник

S

Sergei in learn.java
(можно конечно вспомнить про final и лямбды - но компилятор там и без того проследит)
источник

C☭

Chadwick ☭ in learn.java
а лямбды в 8ке есть?
источник

S

Sergei in learn.java
Вообще-то совсем нет: "...or be effectively final" - то есть можно не объявлять final, и компилятор всё равно проследит.
источник

S

Sergei in learn.java
Chadwick ☭
а лямбды в 8ке есть?
Да, они там как раз впервые появились.
источник

C☭

Chadwick ☭ in learn.java
Sergei
Да, они там как раз впервые появились.
спасибо
источник

C☭

Chadwick ☭ in learn.java
Sergei
Да, они там как раз впервые появились.
источник

S

Sergei in learn.java
Chadwick ☭
а лямбды в 8ке есть?
И правило для них ровно такое же - если используют локальные переменные, то те должны быть effectively final (но это НЕ значит, что нужно объявить их final).
источник

S

Sergei in learn.java
Любопытно объяснение для необходимого "effectively final" - потому что локальные переменные лежат на стеке.
источник

S

Sergei in learn.java
(а всё остальные - в heap)
источник

S

Sergei in learn.java
Это чуть ли не единственный случай, когда это различие имело какое-то значение для написания кода.
источник

F

FMX(second acc) in learn.java
всем привет, купил себе несколько книг, таких как: headfirst, философия java эккеля и эффективное программирование блоха, начал с хедферст, какую читать следующей?
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in learn.java
FMX(second acc)
всем привет, купил себе несколько книг, таких как: headfirst, философия java эккеля и эффективное программирование блоха, начал с хедферст, какую читать следующей?
effective java. А философию можешь не читать вообще
источник

C☭

Chadwick ☭ in learn.java
FMX(second acc)
всем привет, купил себе несколько книг, таких как: headfirst, философия java эккеля и эффективное программирование блоха, начал с хедферст, какую читать следующей?
"Replace conditional with polymorphism" + SOLID =)
источник

Э

Эд in learn.java
кто создал этот ATG? Я хочу найти и убить каждого, кто был причастен к созданию этого говна
источник

N🌌

Nazarii 🌌 in learn.java
Эд
кто создал этот ATG? Я хочу найти и убить каждого, кто был причастен к созданию этого говна
можно, пожалуйста, по-подробней?
Ни разу не слышал
источник

Э

Эд in learn.java
Nazarii 🌌
можно, пожалуйста, по-подробней?
Ни разу не слышал
да нет, ничего
источник