变量参数v / s java方法中有限数量的参数

时间:2014-07-30 13:51:20

标签: java android

以下是我的函数的两种方法,它打印日志

1.使用有限数量的参数

void print(String s1, String s2, String s3, String s4, String s5){
      //Create string builder and print string
}

2.使用可变参数

 void print(String... message){
      //Create string builder and print string
 }

在调用方法时,哪种方法占用的内存较少。不要考虑函数体中写的任何内容。(我的意思是忘记方法中的代码)。

谢谢。

1 个答案:

答案 0 :(得分:4)

来自 Effective Java

  

在性能危急情况下使用varargs工具时要小心。每次调用varargs方法都会导致数组分配和初始化。

Varargs需要额外的内存和时间来创建和填充数组,因此效率会降低。但是,在几乎所有情况下,您都应该更关注这些优化的可读性。如果基准测试表明这实际上是一个问题,那么一定数量的参数会更有效。