Nie rozumiem, dlaczego np. metoda java.security.MessageDigest.digest()
która jest zadeklarowana jako powrót byte[]
w Javie zwraca ByteArray
w Kotlin Kotlin chociaż wydaje zwykle zadzwonić byte[]
Array<Byte>
.Różnica między ByteArray i Array <Byte> w kotlinie
E.g. następujące nie działa:
fun main(args : Array<String>) {
val md = java.security.MessageDigest.getInstance("SHA")
if (md == null) throw NullPointerException()
val result : Array<Byte>? = md.digest()
}
Type mismatch: wywnioskować typ jest ByteArray?
ale Array<Byte>?
oczekiwano
Bieżące dokumenty dotyczące tablic Kotlin: https://kotlinlang.org/docs/reference/basic-types.html#arrays i do współdziałania z tablicami Java od Kotlina: https://kotlinlang.org/docs/reference/java -interop.html # java-array –