BẮT ĐẦU
CĂN BẢN
KIỂU DỮ LIỆU
CONTROL FLOW
FUNCTION
EXCEPTION
OOP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Kotlin - Type Casting - chuyển đổi kiểu dữ liệu

Type Casting là quá trình chuyển đổi từ loại dữ liệu sang loại dữ liệu khác khác, ví dụ - chuyển đổi int thành Long, Long thành Double, v.v. Trong bài viết này, chúng ta sẽ tìm hiểu cách thực hiện chuyển đổi loại dữ liệu trong Kotlin.

1. Chuyển đổi trong Kotlin và Java

Trong java, một kiểu dữ liệu được tự động chuyển đổi sang kiểu dữ liệu khác khác (trong một số trường hợp). Trong Kotlin chúng ta cần chuyển đổi rõ ràng loại đó.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ví dụ

Java: Int được tự động chuyển thành kiểu dữ liệu Long vì giới hạn lớn hơn int.

// This code is valid in Java, even though we are converting int to long
// because long is larger than int and it can hold integers
int num1 = 101;
long num2 = num1; 

Kotlin: Trong Kotlin, chuyển đổi không tự động, chúng ta cần thực hiện chuyển đổi loại một cách rõ ràng.

// This code is invalid in Kotlin. This will cause compile time 
// error, type mismatch
val num1: Int = 101
val num2: Long = num1

Mã chính xác trong Kotlin:

Chúng ta sử dụng hàm toLong () để chuyển đổi int thành Long trong Kotlin.

val num1: Int = 101
val num2: Long = num1.toLong()

Các Functions để chuyển đổi loại trong Kotlin

Trong ví dụ trên, chúng ta đã thấy cách sử dụng hàm toLong () để chuyển đổi một số nguyên thành loại Long. Tương tự, chúng ta có các chức năng khác có sẵn trong Kotlin để giúp chúng tôi chuyển đổi loại.

  1. toChar() – convert thành kiểu Char
  2. toInt() – convert thành kiểu Int
  3. toLong() – convert thành kiểu Long
  4. toFloat() – convert thành kiểu Float
  5. toDouble() – convert thành kiểu Double
  6. toByte() – convert thành kiểu Byte
  7. toShort() – convert thành kiểu Short

2. Ví dụ Type Casting đơn giản

package freetuts

fun main(args : Array<String>){

    /**
     * Double to int type casting
     */
    println("4.554 to int: " + (4.554.toInt()))

    /**
     * int to Char type casting
     */
    println("66 to Char: " + (65.toChar()))

    /**
     * Char to int type casting
     */
    println("B to int: " + ('B'.toInt()))
}

OUTPUT:

1 kotlin type casting jpg

Điều gì xảy ra khi chúng ta chuyển đổi một loại lớn hơn sang loại nhỏ hơn?

Khi chuyển đổi kiểu lớn hơn sang kiểu nhỏ hơn, chúng ta có hai kết quả có thể xảy ra. Nếu giá trị mà chúng ta đang chuyển đổi sang kiểu nhỏ hơn nằm ngoài phạm vi của loại mục tiêu, thì kết quả sẽ bị cắt ngắn. Tuy nhiên, khi giá trị nằm trong phạm vi của kiểu mục tiêu, nó được chuyển đổi mà không bị cắt ngắn.

Ví dụ 1: Khi giá trị nằm ngoài phạm vi của loại mục tiêu.

Trong ví dụ này, chúng ta đang chuyển đổi kiểu Long thành loại int trong đó giá trị của kiểu Long nằm ngoài phạm vi của kiểu số nguyên.

fun main(args : Array<String>) {
    val num1: Long = 5453448989999998988
    val num2: Int = num1.toInt()
    println("Number num1 is: $num1")
    println("Number num2 is: $num2")
}

OUTPUT:

Number num1 is: 5453448989999998988
Number num2 is: 2041161740

Ví dụ 2: Khi giá trị nằm trong phạm vi của kiểu mục tiêu

Trong ví dụ này, chúng ta đang chuyển đổi kiểu Long thành kiểu int trong đó giá trị của kiểu Long nằm trong phạm vi của loại số nguyên.

fun main(args : Array<String>) {
    val num1: Long = 5453448
    val num2: Int = num1.toInt()
    println("Number num1 is: $num1")
    println("Number num2 is: $num2")
}

OUTPUT

Number num1 is: 5453448
Number num2 is: 5453448

Cùng chuyên mục:

Hàm Lambda trong Kotlin

Hàm Lambda trong Kotlin

Hàm Lambda còn được gọi là hàm ẩn danh vì nó không có tên.

Tham số function trong Kotlin

Tham số function trong Kotlin

Trong bài viết này chúng ta sẽ tìm hiểu tham số mặc định và cách…

Đệ quy trong Kotlin

Đệ quy trong Kotlin

Ở bài trước chúng ta đã học xong cách tạo function, vậy thì trong bài…

Function trong Kotlin

Function trong Kotlin

Trong bài này chúng ta sẽ học một khái niệm mới, đó là function trong…

Lệnh break trong Kotlin

Lệnh break trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu lệnh break trong Kotlin

Lệnh continue trong Kotlin

Lệnh continue trong Kotlin

Trong bài này chúng ta sẽ học lệnh continue trong Kotlin,

Vòng lặp do-while trong Kotlin

Vòng lặp do-while trong Kotlin

Vòng lặp While trong Kotlin

Vòng lặp While trong Kotlin

Vòng lặp For trong Kotlin

Vòng lặp For trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For

Lệnh When trong Kotlin

Lệnh When trong Kotlin

Trong bài này chúng ta sẽ học lệnh When trong Kotlin

Lệnh if .. else trong Kotlin

Lệnh if .. else trong Kotlin

Trong bất kỳ ngôn ngữ lập trình nào, chúng ta cần các câu lệnh điều…

Ranges trong Kotlin

Ranges trong Kotlin

Trong bài viết này, chúng ta sẽ tìm hiểu về tính năng rất hay của…

Mảng (Array) trong Kotlin

Mảng (Array) trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu một kiểu dữ liệu rất quan trọng…

Thao tác với chuỗi trong Kotlin

Thao tác với chuỗi trong Kotlin

Trong bài này chúng ta sẽ tìm hiểu cách khai báo và xử lý chuỗi…

Ghi chú (comment) trong Kotlin

Ghi chú (comment) trong Kotlin

Toán tử Kotlin – Arithmetic, Assignment, Unary, Logical

Toán tử Kotlin – Arithmetic, Assignment, Unary, Logical

Trong bài này, ta sẽ tìm hiểu các loại toán tử có sẵn trong Kotlin…

Kotlin - Lấy dữ liệu bằng hàm readLine()

Kotlin - Lấy dữ liệu bằng hàm readLine()

Trong bài viết này, chúng ta sẽ xem cách lấy Input(đầu vào) từ người dùng(User)…

Biến và Kiểu dữ liệu trong Kotlin

Biến và Kiểu dữ liệu trong Kotlin

Kotlin Keywords, Soft Keywords và Identifiers

Kotlin Keywords, Soft Keywords và Identifiers

Có một số từ nhất định trong Kotlin có ý nghĩa đặc biệt và không…

Chương trình Kotlin đầu tiên - Hello world

Chương trình Kotlin đầu tiên - Hello world

Chúng ta hãy cũng viết một chương trình Kotlin đơn giản để hiển thị thông…

Top