1、使用类型参数化数组
在Scala中,可以使用new实例化类,创建对象的实例时,可以使用数值或类型参数。使用方括号来指明数据类型参数。如下:
val helloStrings = new Array[String](2)
helloStrings(0)="Hello"
helloStrings(0)="world!\n"
for(i <- 0 to 1)
print(helloStrings(i))
Scala使用[]来为数组指明类型化参数。其中这里的 0 to 2 ,其实为 (0).to(2),就是整数类型调用了to方法(Scala中所有的基本数据类型也是对象)。
Scala中使用() 来访问数组元素,数组和其它普遍的类定义一样,当在某个值后面使用()时,即是调用了apply方法,如:helloStrings(0),即为helloStrings.apply(0)。这种方式,对于任何对象也适用,对某个使用()的对象复制。如:
helloStrings(0)="Hello"
Scala将这种赋值转换为该对象的update方法,也就是helloStrings.update(0,“Hello”)。所以上面可改为:
val helloStrings = new Array[String](2)
helloStrings.update(0,"Hello")
helloStrings.update(1," world!\n")
for(i <- 0 to 1)
print(helloStrings.apply(i))
因此,数组和普通类区别不大。
除此之外,还可以直接初始化数组。如下:
val helloStrings = Array("Hello"," world!\n")
也就是调用了apply方法,既是:
val helloStrings = Array.apply("Hello"," world!\n")