最近发现代码中会有一些黄色警告,看着有点难受,然后我就想着怎么消除它。
仔细一看,提示This inspection searches for redundant class fields that can be replaced with local variables. If all local usages of a field are preceded by assignments to that field, the field can be removed and its usages replaced with local variables.,大意是“检测到这个变量可以使用局部变量替换,建议删除并写成局部变量”,然后我就发现声明的该变量只在某一个方法内部使用过,于是,在该变量上点击Alt+Enter便可将其改为局部变量。
普通局部变量:
生命周期:程序运行出局部作用域即被销毁。它属于某个{},在{}外部不能使用此变量,在{}内部时可以使用。执行到普通局部变量定义语句,才会分配空间,离开{},自动释放。
作用域:局部作用域(只在局部作用域可见)。
内存分布:栈区
普通局部变量不初始化,默认值为随机数。
static局部变量:
属于某个{},在{}外部不能使用此变量,在{}内部是可以使用。在编译阶段就已经分配空间,初始化只能使用常量。static局部变量不初始化,默认值为0。离开{},static局部变量不会释放,只有整个程序结束才释放。
注意:静态局部变量的作用域属于某个{},但是它的生命周期却是从编译阶段到整个程序结束。