我在许多库中看到,当返回一些结果时,使用return a = new A()(例如return entrySet = new EntrySet())而不是仅返回new EntrySet(),有什么区别?
后者a在返回之前指定一个值.
如果a是局部变量,那几乎肯定无关紧要.如果a是实例(或静态)变量,则会产生可见的副作用.它有时用于一些惰性初始化,例如
private String foo;
public String getFoo()
{
if (foo != null)
{
return foo;
}
return foo = computeFoo();
}
private String computeFoo() { .. }
Run Code Online (Sandbox Code Playgroud)