Конечные переменные в методе - PullRequest
1 голос
/ 14 марта 2012

В Java, если метод имеет конечную переменную (не статическую), и если я вызываю метод несколько раз, может ли конечная переменная иметь разные значения в каждом вызове?

public void method1(String msg){
        final ArrayList<MessageObject> list =  method2(msg);
        // code that uses list (example just prints) 
}

method1("one")
method1("two") are two calls, 

если method2 () возвращает разные списки для каждого ввода, допустим ли приведенный выше код (в отношении окончательного модификатора?)

Ответы [ 2 ]

6 голосов
/ 14 марта 2012

Да, абсолютно. final только означает, что этой конкретной переменной нельзя присвоить другое значение.

Если у вас есть несколько вызовов метода (будь то через рекурсию или несколько потоков), это полностью отдельные переменные.

1 голос
/ 14 марта 2012

Вопрос 1 : Если в java у метода есть конечная переменная (не статическая), и если я вызываю метод несколько раз, может ли конечная переменная иметь разные значения в каждом вызове?

Ответ 1 : Да, последняя переменная может иметь разные значения в каждом вызове.

Вопрос 2 : если method2 () возвращает разные списки для каждого ввода, допустим ли приведенный выше код (в отношении окончательного модификатора?)

Ответ 2 : Я совершенно не понимаю этого вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...