简体   繁体   English

如何从 function 返回数组到 Kotlin

[英]how return array from function in Kotlin

Hello i'm trying to return array from my function but i got this in result:您好,我正在尝试从我的 function 返回数组,但结果是:

[Ljava.lang.String;@1be6f5c3

but function output correctly, for example:但是 function output 正确,例如:

12, 54, 65
fun main() {
    val array = arrayOf(loopForNumbers(n))
    println(array)
}
fun loopForNumbers(n: Int): String {
    val array = IntArray(n)
    var i = 0
    while (i < n) {
        println("Input number № ${i + 1}")
        array[i] = readLine()?.toIntOrNull() ?: continue
        i++
    }
    println(array.joinToString())
    return array.joinToString()
}

You got confused I think, it's better to return the array as-is and then format it我想你很困惑,最好按原样返回数组然后格式化它

fun main() {
    val array = loopForNumbers(n)
    println(array.joinToString())
}

fun loopForNumbers(n: Int): IntArray {
    val array = IntArray(n)
    var i = 0
    while (i < n) {
        println("Введите число № ${i + 1}")
        array[i] = readLine()?.toIntOrNull() ?: continue
        i++
    }
    println(array.joinToString())
    return array
}

but function output correctly, for example:但是 function output 正确,例如:

 12, 54, 65
val array = arrayOf(loopForNumbers(n))

This creates a single-element array containing (in this case) the string "12, 54, 65" .这将创建一个包含(在本例中)字符串"12, 54, 65"的单元素数组。

println(array)

println calls toString() on its argument, and for an array toString is pretty useless because it doesn't include the array contents ; println在其参数上调用toString() ,对于数组toString非常无用,因为它不包含数组内容 [Ljava.lang.String;@1be6f5c3 is a String array and [I@1be6f5c3 is an Int array, but the part after @ just lets you see if two arrays are the same. [Ljava.lang.String;@1be6f5c3String数组, [I@1be6f5c3Int数组,但是@后面的部分只是让你看看两个arrays是否相同。 Instead try而是尝试

println(array.joinToString())

see https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to-string.html for documentation and optional parameters.有关文档和可选参数,请参阅https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to-string.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM