Kotlin-如何将字符串连接到Int值?

Kotlin-如何将字符串连接到Int值?,kotlin,Kotlin,一个非常基本的问题,将字符串连接到Int的正确方法是什么 我是Kotlin的新手,想打印一个整数值,该值前面带有字符串,并获得以下错误消息 for (i in 15 downTo 10){ print(i + " "); //error: None of the following function can be called with the argument supplied: print(i); //It's Working but I need some space after

一个非常基本的问题,将字符串连接到Int的正确方法是什么

我是Kotlin的新手,想打印一个
整数
值,该值前面带有字符串,并获得以下错误消息

for (i in 15 downTo 10){
  print(i + " "); //error: None of the following function can be called with the argument supplied:
  print(i); //It's Working but I need some space after the integer value.
}
预期结果
15 14 13 12 11 10

直接按字符串:

for (i in 15 downTo 10){
  print(i.toString() + " ");
}

Int::toString
方法完成了您需要的任务。而不是显式循环,考虑函数方法如<代码> map < /> >:

(15 downTo 10).map(Int::toString).joinToString { " " }

请注意,
map
部分甚至是冗余的,因为
joinToString
可以在内部处理转换。

您可以使用kotlin字符串模板:

for (i in 15 downTo 10){
  print("$i ");
}

$
dollar–我们将在下面看到的字符串模板中使用dollar符号

for (i in 15 downTo 10){   
  print("$i ")
}

输出:15 14 13 12 11 10

您有几个选项:

1。字符串模板。我认为这是最好的。它的工作原理完全类似于第二个解决方案,但看起来更好,并允许添加一些所需的字符

print("$i")
如果你想添加一些东西

print("$i ")
print("$i - is good")
要添加一些表达式,请将其放在括号中

print("${i + 1} - is better")
2<代码>toString方法,可用于kotlin中的任何对象

print(i.toString())
3。类似Java的解决方案带有连接

print("" + i)

您得到的错误是因为您使用的
+
是整数(由左操作数决定)。整数
+
需要2个整数。为了实际使用字符串的
+
进行连接,您需要左边的字符串,如
“+i+”

也就是说,在Kotlin中,使用字符串模板打印格式化字符串更为惯用:
“$i”

但是,如果只想打印中间有空格的整数,可以使用stdlib函数
joinToString()


您应该使用
$
。您也可以使用+但在您的情况下可能会混淆,因为+has也是一个调用用于求整数和的
plus()
方法的运算符

for (i in 15 downTo 10){
  print("$i ");
}

使用Kotlin时使用此语法
print($i”)
。谢谢@JeelVankhede,它对我有用;)
str
val有什么意义?您在使用分号方面也不一致。
for (i in 15 downTo 10){
  print("$i ");
}