2016-11-30 42 views
0

当传递的值的方法,放置方法调用中的参数VS创建变量并将其传递

  1. 地方一个方法调用直接在它返回所要求的值要传递
  2. 或创建一个变量并通过相同的方法调用获取值并将其放入参数中。

    //first approach 
        methodToCall(methodReturnValue()); 
        //second approach 
        int variable=methodReturnValue(); 
        methodToCall(variable); 
    

哪种技术更好?

在我看来,我认为第一种技术比第二种技术更好,因为第二种技术要求您创建额外的变量,这肯定会占用内存空间。另一方面是,创建一个变量会导致CPU周期内存,而返回值存储在寄存器而不是内存(RAM)中,因此它也会减少内存读取周期。

+0

您需要回答两个问题:1.您是否要在其他地方重新使用该方法的返回值?如果是,则将其存储在一个变量中。如果不是,请问自己:2.方法的名称是否清楚,它会返回什么以及什么代表什么?如果不是,则变量或重构该方法。如果很清楚,不要打扰变量。 **免责声明:**个人意见。 – JonK

+0

两者都执行方法调用。两者都存储一个变量(第二个只是垃圾收集在一个点)。问题是你在'methodToCall'之后需要'variable'吗? –

+0

@ cricket_007变量不是必需的 – user137124

回答

0

选项1没有任何额外的运行时间“惩罚”;没有变量分配,没有什么需要进一步处理。

另一方面选项2是更易于阅读(因为方法调用的顺序是自上而下,而不是从右到左);它允许您进一步使用该结果变量;例如用于跟踪或其他功能调用。

因此:答案是 - 在这里没有更好的解决方案。只是不同的选择与不同的优点/缺点。

相关问题