java - 为什么局部变量是final的?

标签 java

为什么局部变量要作为final,无论是方法参数还是方法内部。

private void add(final int a , final int b) {
    final int c = 0;
}

请任何人澄清。我搜索了很多,但没有找到确切的答案。

最佳答案

原因之一是它可以防止您无意中更改它们。这是一个很好的做法,因为它会发现一些难以发现的编码错误。

第二个原因是,如果您使用内部类,则从外部作用域引用的变量需要声明为final。请参阅this SO answer了解更多详情。

final 的问题在于它在不同的上下文中意味着不同的东西。请参阅this discussion了解更多信息。

关于java - 为什么局部变量是final的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910342/

相关文章:

Java EE/GlassFish - 线程和连接

java - Android:从 Fragment 调用父 Activity

java - Java Swing 中的线程不起作用

java - Spring在条件类的子类中注入(inject)bean

java - Android:Dagger 2 和构造函数注入(inject)

java - 如何返回并置零?

java - 批量获取 map 迭代需要 200 毫秒

java - 在通话期间运行 SpeechRecognizer

java - 数据库访问放在哪里

java - 自动获取中间证书的代码