Trong bài này, bạn sẽ tìm hiểu về chuyển đổi kiểu; cách chuyển đổi một biến kiểu này sang kiểu khác với sự trợ giúp của ví dụ.
Trong Kotlin, giá trị số của một kiểu không được tự động chuyển đổi sang kiểu khác ngay cả khi kiểu khác lớn hơn. Điều này khác với cách Java xử lý các chuyển đổi số. Ví dụ;
Trong Java,
int number1 = 55; số dài2 = số1; // Mã hợp lệ
Tại đây, giá trị của number1
kiểu int
được tự động chuyển thành kiểu long
và được gán cho biến number2.
Ở Kotlin,
val number1: Int = 55 val number2: Long = number1 // Lỗi: nhập không khớp.
Mặc dù kích thước của Long lớn hơn Int
, Kotlin không tự động chuyển Int thành Long.
Thay vào đó, bạn cần sử dụng toLong()
một cách rõ ràng (để chuyển đổi sang loại Long). Kotlin làm điều đó vì sự an toàn của loại để tránh bất ngờ.
val number1: Int = 55 val number2: Long = number1.toLong ()
Đây là danh sách các hàm trong Kotlin được sử dụng để chuyển đổi kiểu:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Lưu ý, không có chuyển đổi cho Boolean
các loại.
Chuyển đổi từ Loại lớn hơn sang Loại nhỏ hơn
Các chức năng nêu trên có thể được sử dụng theo cả hai hướng (chuyển đổi từ loại lớn hơn sang loại nhỏ hơn và chuyển đổi từ loại nhỏ hơn sang loại lớn hơn).
Tuy nhiên, chuyển đổi từ loại lớn hơn sang loại nhỏ hơn có thể cắt ngắn giá trị. Ví dụ,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Khi bạn chạy chương trình, đầu ra sẽ là:
number1 = 545344 number2 = 64
Ngoài ra, hãy xem các bài viết này liên quan đến chuyển đổi kiểu:
- Chuyển đổi chuỗi thành Int và Int thành chuỗi
- Chuyển đổi từ lâu thành Int và Int thành Long
- Tăng gấp đôi thành Int và Int thành chuyển đổi gấp đôi
- Chuyển đổi dài thành gấp đôi và nhân đôi thành dài
- Char thành Int và Int to Char
- Chuyển đổi chuỗi thành dài và dài thành chuỗi
- Chuỗi thành mảng và chuyển đổi từ mảng sang chuỗi
- Chuỗi thành Boolean và Chuyển đổi Boolean thành chuỗi
- Chuyển đổi chuỗi thành Byte và chuyển đổi Byte thành chuỗi
- Chuyển sang Byte và Chuyển đổi Byte sang Int