2
好的人,请原谅我,如果这个问题已经被问到。又一个Scala新手问题。所以例如,如果我想要一个全局List对象,可以用作占位符容器,在Java中我可以轻松完成;将元素添加到scala中的全局列表对象
//share list object
private List<String> strList = new ArrayList<>();
void add(String el)
{
strList.add(e);
}
static void main(String[] args) {
{
add("36 Chambers");
out.println(strList.get(0));//assume only element
}
同样,如果我模拟Scala的相同的语法 - 我最终java.lang.IndexOutOfBoundsException: 0
。如何才能实现类似简单的斯卡拉?
private var strList: List[String] = Nil
def add(el: String) {
strList :+ el
}
def main(args: Array[String]) {
add("36 Chambers")
println(s(0)) //assume only element
}
不会打扰书面答复,因为你已经接受了一个,但'List'似乎是完全错误的收集你的目的 - 你应该使用'VECTOR',同时具有快速和追加prepend,并且是用于快速查找的索引集合的标准实现。你可以写'strVector = strVector:+ el',或者短版本'strVector:+ = el'。 –
@LuigiPlinge请添加一个答案 - 这有助于他人轻松挖掘并找到与您一样的相关答案。我会给你一个投票。 – Bitmap