只是出于好奇,正如标题所示:如果变量被声明并实例化如下,是否有任何性能或内存分配差异:
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
假设上面的代码运行。
答案 0 :(得分:0)
不,没有性能或内存差异。但在设计和惯用的scala代码方面 - 可变状态很糟糕。最好先使用它。