我不明白为什么,例如在Java中声明为返回byte[]
的java.security.MessageDigest.digest()
方法返回Kotlin中的ByteArray
,但Kotlin通常似乎称为byte[]
和Array<Byte>
。ByteArray和数组之间的差异<Byte> in kotlin
E.g.以下不工作:
fun main(args : Array<String>) {
val md = java.security.MessageDigest.getInstance("SHA")
if (md == null) throw NullPointerException()
val result : Array<Byte>? = md.digest()
}
类型不匹配:推断类型是ByteArray?
但Array<Byte>?
预计
Kotlin数组的当前文档:https://kotlinlang.org/docs/reference/basic-types.html#arrays以及与Kotlin的Java数组互操作:https://kotlinlang.org/docs/reference/java -interop.html#java-arrays – 2015-12-29 04:54:11