IntelliJ以灰色突出显示'foo'变量,并说"不使用赋值".我想知道的是 - 它是对还是不对......
如果这是java而不是groovy,我知道这不对.
public class Foo
{
public Foo()
{
Foo foo = null; // this 'foo' instance is gray ("assignment not used")
try
{
foo = new Foo()
// ...
}
finally
{
if (foo != null)
foo.release();
}
}
public void release(){}
}
Run Code Online (Sandbox Code Playgroud)
必须在使用前显式初始化Groovy(和Java)局部变量.Java语言规范:变量的初始值.
局部变量(§14.4,§14.14)必须在使用之前通过初始化(第14.4节)或赋值(第15.26节)以可以使用明确赋值规则验证的方式显式赋予值(§14.4,§14.14) 16(确定任务)).