scala - 重新初始化和重新声明变量之间的性能时间/内存

时间:2015-11-26 07:42:32

标签: performance scala

只是出于好奇,正如标题所示:如果变量被声明并实例化如下,是否有任何性能或内存分配差异:

class someClass
  def showBoard(typeIs: String){
        if (typeIs == "animals"){
            val dir: File = new File("animals/");
            val blah1= ...;
            val blah3 = ...;
        }
        else if (typeIs == "sports"){
            //same variables
        }
        //same for other categories

而不是:

class someClass
  var dir: File = null
  var blah = null
  var blah2 = null
  def showBoard(typeIs: String){
        if (typeIs == "animals"){
            dir = new File("animals/");
            blah = ...;
            blah2 = ...;
        }
        else if (typeIs == "sports"){
             //same variables
        }
        //same thing for the other categories

假设上面的代码运行。

1 个答案:

答案 0 :(得分:0)

不,没有性能或内存差异。但在设计和惯用的scala代码方面 - 可变状态很糟糕。最好先使用它。