Я не понимаю, почему, например, метод java.security.MessageDigest.digest()
, объявленный как возвращаемый byte[]
в Java, возвращает ByteArray
в Котлине, хотя, как правило, Котлин обычно вызывает byte[]
a Array<Byte>
.Разница между ByteArray и Array <Byte> в 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 и для взаимодействия с массивами Java от Kotlin: https://kotlinlang.org/docs/reference/java -interop.html # java-arrays –