Kotlin打印阵列内容的方式是什么?
Kotlin打印阵列内容的方式是什么Kotlin打印阵列内容的方式是什么?,kotlin,Kotlin,Kotlin打印阵列内容的方式是什么 class Solution { fun plusOne(digits: IntArray): IntArray { println(digits.toString()) // does not work println(Arrays.toString(digits)) // does work but its java way of doing for(i in 0 until digits.siz
class Solution {
fun plusOne(digits: IntArray): IntArray {
println(digits.toString()) // does not work
println(Arrays.toString(digits)) // does work but its java way of doing
for(i in 0 until digits.size) {
...
}
return digits
}
}
有没有类似于Arrays.toString()的kotlin方法?我只想查看内容以便调试。尝试转换为列表
fun main() {
val digits: IntArray = IntArray(10)
println(digits.toList()) // or digits.asList()
}
输出:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
您可以使用适用于所有类型阵列的函数
val位=intArrayOf(1,2,3,4)
val javaToString=Arrays.toString(数字)。也(::println)/[1,2,3,4]
val kotlinToString=digits.contentToString()。还(::println)/[1,2,3,4]
println(javaToString==kotlinToString)//true
这里是一个工作示例有多种方法,根据您的需求,您可以使用任何方法。请注意,您不必为了打印而将其转换为列表,除非您在其他用例中需要它
println(arr.contentToString())
//this one prints number on each line
arr.forEach(::println) // same as arr.forEach{println(it)}
您也可以使用
数组。toString
但是contentToString()
很方便,而且它在内部调用数组。toString
有很多方法可以实现。
一种方法是首先使用fold构建输出字符串,然后在函数中打印它:
val digits = intArrayOf(1,2,3,4,5,6,7)
digits.fold("[") { output, item -> "$output $item" }.also { println("$it ]") }
这将产生:
[ 1 2 3 4 5 6 7 ]
在做了更多的研究之后,我想在上述令人敬畏的答案中添加
joinToString()
:
val numbers = intArrayOf(1, 2, 3, 4, 5, 6)
println(numbers.joinToString())
这将打印以下输出:
1, 2, 3, 4, 5, 6
这还允许您添加前缀、后缀,如下所示:
println(numbers.joinToString(prefix = "{", postfix = "}"))
这将产生:
{1, 2, 3, 4, 5, 6}
println(digits.toList())
println(digits.contentToString())
感谢toList()和contentToString()都能工作@NeeK toList创建了一个列表,调用它的toString来生成字符串,它有丰富的资源。