JAVA集合框架中线程不安全的类比如PriorityQueue 和LinkedList中有很多方法都是用了final声明的局部变量,这是基于什么考量,是否必要
final修饰的变量是不可变的。
通常情况下加不加问题不大,在不需要修改的情况下加final会减少人为的误操作
在考虑是不是应该加final这个问题和要不要加private差不多,只要不需要本类以外的地方访问就加private,同样,不需要修改的变量最好都加final
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.7k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
4 回答1.9k 阅读
局部变量加
final
就是单纯的不可变
的意思,没有其他效果可以避免手滑修改了不改修改的变量,也可以一定程度提高可读性
通常不会作为规范,开发人员自己习惯加就加,习惯不加就不加