-4

我找不到任何关于此的最佳实践指南或问题。

public void method(int primitiveVar)
{

}

对比

public void method(CustomObject objectVar)
{
    // am I slower or do I generate any problem at all?
}

在您调用该方法时,使用其中一种方法是否有任何性能改进?

谢谢

4

3 回答 3

3

就像其他答案所说的那样,无论您做什么,它很可能不会对性能产生影响。但是,如果您打算传递大量原语,我只会传递和反对以拥有更高效且易于阅读的代码。

于 2013-06-25T16:43:57.580 回答
2

对象是按值传递的,这意味着参数被复制然后传递给正在执行的方法。因此,如果您传递一个引用,这就是您在传递对象时所做的,那么该引用就会被复制。它应该与传递原语的速度相同,但我可以从理论上看到,如果对对象的引用使用比某些原语类型更多的词,那么在某些自定义硬件上它可能会更慢。

于 2013-06-25T16:42:58.950 回答
0

这并不重要。但是,如果仍然是这个问题,那么通过原语共享有时会具有优势(取决于您的编写方式和您在做什么),因为引用实际上是对原语的拆箱。

于 2013-06-25T16:43:33.303 回答