ListBuffer将其分配给一个字符串

mei*_*tal -1 scala listbuffer

我在ListBuffer上创建了循环:

val listOfNamesOfMissingFiles = new ListBuffer[String]()
controlFileContent.entries.foreach { entry =>
      val fileName = entry("File_Name")
      val sha256 = entry("File_SHA_256")
      val file = new File(folder, fileName)
      if (!file.exists()) {
        logger.error(s"Control file validation failed: file does not exist in folder: [$fileName].")
        listOfNamesOfMissingFiles += fileName
      }
Run Code Online (Sandbox Code Playgroud)

我想将我在listOfNamesOfMissingFiles中获得的内容分配给一个字符串到attribut,我将其作为事件发送到kibana门户网站.如果我的listOfNamesOfMissingFiles == ListBuffer("hhhh","uuuu").如果我要做listOfNamesOfMissingFiles.toString我会得到"ListBuffer("hhhh","uuuu")".如何从输出中删除ListBuffer?

Aki*_*Aki 5

我认为你想要实现的只是加入一个字符串列表.Scala提供了以下mkString方法:

scala> val names = ListBuffer("hhhh", "uuuu")
names: scala.collection.mutable.ListBuffer[String] = ListBuffer(hhhh, uuuu)

scala> names.mkString
res0: String = hhhhuuuu

scala> names.mkString(", ")
res1: String = hhhh, uuuu

scala> names.mkString("(", ", ", ")")
res2: String = (hhhh, uuuu)
Run Code Online (Sandbox Code Playgroud)