new ClassName
和new ClassName()
之间有区别吗?它只是语法差异还是在后台发生了scala魔术?
答案 0 :(得分:3)
据我所知,只有语法差异。使用scala REPL的示例:
scala> val foo = new scala.collection.mutable.HashMap
foo: scala.collection.mutable.HashMap[Nothing,Nothing] = Map()
scala> val foo = new scala.collection.mutable.HashMap()
foo: scala.collection.mutable.HashMap[Nothing,Nothing] = Map()
我认为这只是Scala中正常行为的一个例子,在调用不带参数的方法时允许省略括号。