[英]How to do string concatenation in Scala
我有以下代码,基于输入(args)我想创建一个字符串,但答案是不正确的。 我有args(0)是一个路径,args(1)是一个像“+”的操作数,而args(2)是一个数字(我想在它们之间放置空格:
//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 ...
输出是空白的! 我使用此链接作为参考 。 你能帮我解决这个问题吗?我是Scala的新手。 谢谢。
String.concat返回一个全新的String对象。 它根本不会改变你当前的Statement变量。 现在我不建议您执行以下操作,但技术上需要更改的是将Statement重新分配给所有concat调用的返回值:
//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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.