当我们从方法返回值时,在以下示例中,将返回值分配给变量优先于返回值而不分配给任何变量?
public int getCustomerId(){
return CustomerService.getCustomerById();
}
和另一个例子:
public int getCustomerId(){
int id = CustomerService.getCustomberById();
return id;
}
哪一个更好,为什么?我看到了我朋友的一个代码,他首先为变量赋值,然后将该变量返回给他的服务方法。
答案 0 :(得分:0)
这两种方法都是正确的,它取决于我们在函数中编写的代码量或代码的可读性。
如果是 一两个班轮代码 ,我会选择 第一种方法 。
就这么简单,可读性很好。
public int getCustomerId(){
return CustomerService.getCustomerById();
}
这使代码的可读性降低,因为只需要一个服务调用,我需要经历两个步骤。额外的调试。
public int getCustomerId(){
int id = CustomerService.getCustomberById();
return id;
}
如果我有一些 复杂的逻辑 ,可能在业务层, multiple if-else, try-catch
等,那么第二种方法看起来很好。
只是一个例子,它是有道理的
f(){
Object obj = null;
try{
if(condition){
obj = // call service1
}else {
obj = // call service2
}
}catch(Exception e){
}
return obj;
}
我同意使用额外的变量(虽然是本地功能) 赋值,可能会给JVM增加很少的开销,但代码可读性 在编码时也应该考虑。 JVM再次足够聪明,可以优化您的代码,如上所示。