如果我导入collection.mutable.Stack,我应该使用Stack[]还是mutable.Stack[](),两者之间有什么区别吗?
发布于 2017-10-03 19:57:06
你不能同时做这两件事。有两种可能的方法。
scala.collection.mutable.stackimport scala.collection.mutable.Stack
val stack: Stack[Int] = new Stack[Int]scala.collection.mutableimport scala.collection.mutable
val stack: mutable.Stack[Int] = new mutable.Stack[Int]在第一个示例中,您正在导入scala.collecion.mutable.Stack。因此,您可以直接使用Stack对象及其函数。在第二个例子中,您正在导入scala.collection.mutable。这样,您就有资格使用mutable包的函数。您必须通过调用mutable.xxx来使用这个包中的对象。
发布于 2017-10-03 18:59:33
如果您通常遵循功能原则尽可能使用不变的数据结构,我将使用import scala.collection.mutable并使用mutable.Stack来明确表示在此特定情况下您使用的是可变版本。这个约定在集合的scala文档中也有描述。
https://stackoverflow.com/questions/46550734
复制相似问题