Tôi không hiểu tại sao ví dụ: phương thức java.security.MessageDigest.digest()
được khai báo là trả về byte[]
trong Java trả về một ByteArray
trong Kotlin mặc dù Kotlin thường có vẻ như gọi byte[]
một Array<Byte>
.Sự khác biệt giữa ByteArray và Array <Byte> trong kotlin
Ví dụ: sau không làm việc:
fun main(args : Array<String>) {
val md = java.security.MessageDigest.getInstance("SHA")
if (md == null) throw NullPointerException()
val result : Array<Byte>? = md.digest()
}
Loại không phù hợp: suy ra loại là ByteArray?
nhưng Array<Byte>?
đã được dự kiến
Tài liệu hiện tại cho mảng Kotlin: https://kotlinlang.org/docs/reference/basic-types.html#arrays và để tương tác với các mảng Java từ Kotlin: https://kotlinlang.org/docs/reference/java -interop.html # java-arrays –