Mor*_*ive 1 scala scala-collections
在scala中这没关系
val v = Vector(1,2,3)
Run Code Online (Sandbox Code Playgroud)
这不行
val v = new Vector(1,2,3);
Run Code Online (Sandbox Code Playgroud)
你得到:
java.lang.NullPointerException
//| at scala.collection.immutable.VectorIterator.next(Vector.scala:660)
//| at scala.collection.Iterator$$anon$10.next(Iterator.scala:312)
//| at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
//| at scala.collection.Iterator$class.foreach(Iterator.scala:727)
//| at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
//| at scala.
Run Code Online (Sandbox Code Playgroud)
为什么?
看看api http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Vector
您正在尝试调用如下所示的构造函数:
new Vector(startIndex:Int,endIndex:Int,focus:Int)
有了这个:
val v = new Vector(1,2,3);
看起来它试图在3处达到指数,但显然向量不够长