lrn*_*lrn 12
对于局部变量来说,没有任何优势。任何有能力的编译器都可以检测局部变量是否被赋值,无论它final
是否被声明。
对于实例变量,很难检测是否有子类覆盖该变量,或者接口的其他实现。这意味着即使变量是最终变量,编译器也很少能相信它的任何作用。有权访问整个程序的编译器可能会检测到任何地方都没有赋值。不过,这对你的 API 来说是有影响的。
对于静态变量和顶级变量,将变量设为最终变量可能会稍有优势。这意味着本地分析可以知道即使没有看到整个程序,该值也不会改变。
总而言之,除了局部变量之外,您应该将不变的变量设为最终变量,因为这是很好的建模,而不是因为您担心性能。对于局部变量来说,这并不重要。
归档时间: |
|
查看次数: |
602 次 |
最近记录: |