ListBuffer, чтобы назначить его одной строке - PullRequest
0 голосов
/ 23 декабря 2018

Я создал цикл в 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
      }

Я хочу назначить то, что я получаю в listOfNamesOfMissingFiles, одной строке для атрибута, который я отправляю как событие на портал kibana.Если мой listOfNamesOfMissingFiles == ListBuffer ("hhhh", "uuuu").если я сделаю listOfNamesOfMissingFiles.toString, я получу "ListBuffer (" hhhh "," uuuu ")".Как я могу удалить ListBuffer из вывода?

1 Ответ

0 голосов
/ 23 декабря 2018

Я думаю, что вы пытаетесь достичь, просто присоединяясь к списку строк.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)
...