Arrays 在Kotlin中打印数组时,它不打印整数,而是打印大量其他字符 包装杂项项目 导入java.util* 类别编号(val编号:Int){ } fun ClosedRange.random()=random().nextInt((endInclusive+1)-start)+start//函数随机生成一个数字 趣味主线(args:Array){ var list=arrayListOf() 对于(1..10中的i){ val random=random() list.add(Numbers((0..100).random())//将数字添加到数组中 } var sortedList=list.sortedWith(compareBy({it.numbers}))//将元素从最小到最大排序 用于(sortedList中的元素){ println(element.numbers)//打印单个条目 } println(分类列表) }

Arrays 在Kotlin中打印数组时,它不打印整数,而是打印大量其他字符 包装杂项项目 导入java.util* 类别编号(val编号:Int){ } fun ClosedRange.random()=random().nextInt((endInclusive+1)-start)+start//函数随机生成一个数字 趣味主线(args:Array){ var list=arrayListOf() 对于(1..10中的i){ val random=random() list.add(Numbers((0..100).random())//将数字添加到数组中 } var sortedList=list.sortedWith(compareBy({it.numbers}))//将元素从最小到最大排序 用于(sortedList中的元素){ println(element.numbers)//打印单个条目 } println(分类列表) },arrays,kotlin,Arrays,Kotlin,下面的代码从0到100中选取一个数字,并将其添加到数组中 我使用sortedWith和compareBy函数将数字从最大值排序到最小值。但是,当我打印“sortedList”时,会看到以下类型的条目:“MiscellaneousProjects”。Numbers@30f39991,杂项计划。Numbers@452b3a41." 但是,每当我打印数组中的单个元素时,它都会输出正确的数字 有人能告诉我代码中的错误吗?问题是,您的数字类依赖于toString的默认实现,该类继承自对象,并打印您看到的内

下面的代码从0到100中选取一个数字,并将其添加到数组中

我使用sortedWith和compareBy函数将数字从最大值排序到最小值。但是,当我打印“sortedList”时,会看到以下类型的条目:“MiscellaneousProjects”。Numbers@30f39991,杂项计划。Numbers@452b3a41."

但是,每当我打印数组中的单个元素时,它都会输出正确的数字


有人能告诉我代码中的错误吗?

问题是,您的
数字
类依赖于
toString
的默认实现,该类继承自
对象
,并打印您看到的内容(即,您可以找到的
@

要打印更有意义的内容,您可以覆盖
toString
方法(或Kotlin中的
fun
),以返回您期望的
字符串

或者使用for
Numbers
(它基本上有一个内置的
toString()
,可能已经满足您的需要)或者只需在
Numbers
类中重写
toString()
您自己就可以返回
Numbers
,例如

package MiscellaneousProjects

import java.util.*

class Numbers(val numbers: Int){
}

fun ClosedRange<Int>.random() = Random().nextInt((endInclusive + 1) - start) +  start // Function to randomly generate a number

fun main(args: Array<String>) {
    var list = arrayListOf<Numbers>()
    for(i in 1..10){
        val random = Random()
        list.add(Numbers((0..100).random())) // Adds the numbers to an array
    }

    var sortedList = list.sortedWith(compareBy({ it.numbers })) // Sorts the elements from least to greatest

    for(element in sortedList){
        println(element.numbers) // Prints the individual entries
    }

    println(sortedList)

}

非常感谢你!如果这有助于你,请随意投票感谢澄清!
override fun toString() = numbers.toString()