如何在 Scala 中进行字符串连接

How to do string concatenation in Scala

我有以下基于输入 (args) 的代码,我想创建一个字符串,但答案不正确。我有 args(0) 是一条路径,args(1) 是一个像“+”这样的操作数,args(2) 是一个数字(我想在它们之间放置 space:

 //some code ..
 var Statement=""
 for (j<-0 to 2)
    {
         if (Files.exists(Paths.get(args(j)))){
            Statement.concat(inputXml)
            Statement.concat(" ")
            }
         else{
            Statement.concat(args(j))
            Statement.concat(" ")
            }
         println(args(j))
         println(Statement)
    }
    println(Statement)
    //some code ...

输出为空白! 我用过this link as reference。 你能帮我解决这个问题吗?我是 Scala 的新手。 谢谢

String.concat return 是一个全新的字符串对象。它根本不会改变您当前的 Statement 变量。现在我不建议您执行以下操作,但从技术上讲,您需要更改的只是将 Statement 重新分配给所有 concat 调用的 return 值:

 //some code ..
 var Statement=""
 for (j<-0 to 2)
 {
   if (Files.exists(Paths.get(args(j)))){
     Statement = Statement.concat(inputXml)
     Statement = Statement.concat(" ")
   }
   else{
     Statement = Statement.concat(args(j))
     Statement = Statement.concat(" ")
   }
   println(args(j))
   println(Statement)
 }
 println(Statement)
 //some code ...

一个更高效的解决方案是使用 StringBuilder

val Statement = StringBuilder.newBuilder

Statement.append(...)

println(Statement.toString)