【问题标题】:Create an array of objects in scala在scala中创建一个对象数组
【发布时间】:2023-03-07 18:17:01
【问题描述】:

我一直在试图弄清楚如何创建一个对象数组,就像我们在 Java 中的以下内容一样。

气泡[] 气泡 = 新气泡[2];

我已经定义了一个类如下:

class  TestUser {
    var username = ""
    var password= ""
    var List = ArrayBuffer.empty[String]
    var DBFile = ""
 }

我必须创建一个上述类的对象数组。

就像在 Java 中一样 --> How to initialize an array of objects in Java

谁能帮帮我?

【问题讨论】:

  • class TestUser { var username = "" var password= "" var List = ArrayBuffer.empty[String] var DBFile = "" } 对于上面的类,如果我必须初始化一个对象数组 var Users = ArrayBuffer[TestUser] 返回错误
  • 不知道你的意思...

标签: scala


【解决方案1】:

我认为你应该退后一步研究 Scala 中的集合。在 Scala 中,不习惯使用 Array 类型,而是使用极其强大的集合库。

小心尝试“在 Scala 中做 Java”。

了解列表、序列等,熟悉处理集合的不可变模式。

https://twitter.github.io/scala_school/collections.html

【讨论】:

    【解决方案2】:

    嗯,你是认真的吗?好吧……

    val bubble = Array.fill[Bubble](2)(Bubble())
    

    第一个参数定义一个大小,第二个参数只是用 Bubble() 的值初始化数组。

    【讨论】:

    • val Users = Array.fill[TestUser](2)(TestUser()) 不起作用。类 TestUser { var username = "" var password= "" var List = ArrayBuffer.empty[String] var DBFile = "" }
    • 那是因为你的TestUser应该被声明为'case class',或者你应该用'new'创建一个实例,比如val users = Array.fill[TestUser](2)(new TestUser())
    • 有效!!非常感谢兄弟!你让我开心!
    【解决方案3】:
    var dice:Array[Dice]=new Array[Dice](2)
    dice(0)=new Dice()
    dice(1)=new Dice()
    

    Array Of Objects in Scala

    【讨论】:

      【解决方案4】:

      我建议阅读本文以正确理解 Scala 中的可变和不可变集合。

      http://docs.scala-lang.org/overviews/collections/overview.html

      【讨论】:

        猜你喜欢
        • 2014-02-15
        • 1970-01-01
        • 1970-01-01
        • 2021-03-30
        • 2011-04-08
        • 2014-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多