刚接触 kotlin,有不少问题和解答,大部分是 Java 方面的。在遵循文档并针对大量 SO 进行验证之后问题和答案 https://stackoverflow.com/questions/6726963/random-string-from-string-array-listAndroid Studio 在函数中抱怨以下内容。函数是
fun getRandomQuote() {
val randomValue = Random.nextInt(quotes.size)
//return quotes[randomValue]
return quotes.get(randomValue)
}
quotes是一个数组(字符串)
val quotes = arrayOf("Alert today – Alive tomorrow.",...)
它说对于
quotes.get(randomValue)
它应该是一个Unit但发现String。 randomValue 应该是由以下定义的整数docs https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.random/next-int.html使用 nextInt 除非我误解了文档。我没有看到这个问题。我只是想从数组中随机返回一个字符串。我认为工作室可能又出现了误报,所以我清理了该项目,但它在构建时停止了。任何人都知道我做错了什么。
正如其他答案所说,您的函数缺少返回类型,因此默认情况下它是Unit
。将返回类型指定为String
修复错误。
我想提出另一种更简洁的方法来使用默认随机数生成器从数组中选择随机元素:只需使用random https://kotlinlang.org/docs/reference/collection-elements.html#random-element集合和数组上可用的扩展函数。
val colors = arrayOf("red", "blue", "yellow")
val randomColor = colors.random()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)