我找不到任何有关此问题的最佳做法指南或问题。
public void method(int primitiveVar)
{
}
vs
public void method(CustomObject objectVar)
{
// am I slower or do I generate any problem at all?
}
在调用方法时,使用其中一个是否会提高性能?
由于
答案 0 :(得分:3)
就像其他答案一样,无论你做什么,它很可能不会对性能产生影响。但是如果你打算传递大量的原语,我只需要传递并反对以获得更有效的易读代码。
答案 1 :(得分:2)
对象按值传递,这意味着复制参数然后传递给正在执行的方法。因此,如果传递引用(即传递对象时执行的操作),则会复制该引用。它应该与传递原语的速度相同,但我可以在理论上看到,如果对某个对象的引用使用的字数多于某些原始类型,那么在某些自定义硬件上它可能会更慢。
答案 2 :(得分:0)
这并不重要。但是,如果仍然是这个问题,那么通过原语共享有时会有优势(取决于你的编写方式和你在做什么),因为引用实际上是对原语进行了拆箱。