Chuyển đổi kiểu dữ liệu trong kotlin (còn được gọi là ép kiểu) đề cập đến việc thay đổi thực thể của một biến kiểu dữ liệu thành kiểu dữ liệu khác.
Như chúng ta đã biết Java hỗ trợ chuyển đổi kiểu ngầm từ kiểu dữ liệu nhỏ hơn sang lớn hơn. Một giá trị số nguyên có thể được gán cho kiểu dữ liệu dài.
Ví dụ chuyển kiểu dữ liệu
var myNumber = 100
var myLongNumber: Long = myNumber // Compiles Successfully
Nhưng, Kotlin không hỗ trợ chuyển đổi kiểu ngầm định. Không thể gán giá trị số nguyên cho kiểu dữ liệu dài.
var myNumber = 100
var myLongNumber: Long = myNumber // Compiler error
// Kiểu không khớp: kiểu suy ra là Int nhưng mong đợi là Long
Trong Kotlin, hàm helper có thể được sử dụng để chuyển đổi rõ ràng một kiểu dữ liệu này sang kiểu dữ liệu khác sang kiểu dữ liệu khác.
var myNumber = 100
var myLongNumber: Long = myNumber.toLong()
Có thể sử dụng hàm trợ giúp sau để chuyển đổi một kiểu dữ liệu này sang kiểu dữ liệu khác:
- toByte()
- toShort()
- toInt()
- toLong()
- toFLoat()
- toDouble()
- toChar()
Chuyển đổi từ kiểu dữ liệu lớn hơn sang nhỏ hơn
var myLongNumber = 10L
var myNumber2: Int = myLongNumber1.toInt()
Ví dụ
fun main(args: Array<String>)
{
println("259 to byte: " + (259.toByte()))
println("50000 to short: " + (50000.toShort()))
println("21474847499 to Int: " + (21474847499.toInt()))
println("10L to Int: " + (10L.toInt()))
println("22.54 to Int: " + (22.54.toInt()))
println("22 to float: " + (22.toFloat()))
println("65 to char: " + (65.toChar()))
println("A to Int: " + ('A'.toInt()))
}
Kết quả:
259 to byte: 3
50000 to short: -15536
21474847499 to Int: 11019
10L to Int: 10
22.54 to Int: 22
22 to float: 22.0
65 to char: A
A to Int: 65
Post a Comment
Post a Comment