从条件返回哪种方式更好,就像process1和process 2一样。但我想知道更好的回归方式。 在这两种情况下,我都不想进入循环内部,我只想返回。我想知道,是否有任何性能差异如果我在控制传递到结束之前放回。我不希望Java虚拟机检查循环结束并从那里返回。我想如果当条件不满意时我立即返回,那么我可以看到较小的性能差异以及代码可读性。请建议我最好的方法。 让我们考虑以下情况。
Process1:
public Method()
{ //Method
Company company = new Company(); //Object
if (null != Address && null = Address.location()) //Condition
{
return company; //I want to return
}
for (Location location: Address.location())
{
//forloop
}
return company; //return
}
过程2:
public Method()
{
Company company = new Company();
if (null != Address && null != Address.location())
{
//enters loop
}
return company; // return
}
答案 0 :(得分:-1)
会有一些性能影响。从for循环中迭代完整对象以验证条件。
For example:
We can write like this.
if(condition is false){
return ;
else{
for(DataType ref: collection){
if(true){
return;// return from here, so that it will not iterate remaining elements.
}
}
}
ex 2:
if there is a logic after the if and that should not be executed, if the object is null.
if(object is null){
return ;
}
//Remaining logic here will not be executed, if the object is null. it's a good way of writing.
ex 3:
if there is no logic after the if and else, then directly return from the end of method.
if(object is null){
return
}else{
//process logic and return.
}
you can write something like this.
if(object is not null){
// return either from here.
}
return here is also fine...