+4

Cùng khám phá bộ thư viện chuẩn Kotlin 1.5

Bài viết này chia sẻ về một số thay đổi của thư viện chuẩn Kotlin ở phiên bản 1.5, nếu mọi người thấy thiếu sót có thể comment phía dưới nhé 😅. Còn bây giờ thì bắt đầu thôi.

1. Các hàm mới của collection

  • Giả sử bạn có một danh sách các đối tượng, tất cả đều có thuộc tính là nullable và bạn muốn nhận giá trị không phải null đầu tiên của thuộc tính đó trong collection. Thông thường, đầu tiên chúng ta sẽ sử dụng mapNotNull() để lấy ra một collection tất cả các giá trị không null và sau đó gọi firstOrNull() để lấy giá trị cuối cùng.

  • Trong Kotlin 1.5, chúng ta có các hàm như: firstNotNullOf() và firstNotNullOfOrNull().

    • Hàm firstNotNullOf() trả về giá trị không phải null đầu tiên của collection.
    • Hàm firstNotNullOfOrNull() trả về giá trị không phải null đầu tiên của collection hoặc trả về null nếu không có phần tử nào phù hợp.
  • Hàm firstNotNullOf() là sự kết hợp của mapNotNull() và first(). Tương tự firstNotNullOfOrNull() là sự kết hợp của mapNotNull() và firstOrNull().

2. Các loại số nguyên Unsigned : UByte, UShort, UInt, ULong

  • Các loại số unsigned này hữu ích khi bạn muốn giới hạn một loại chỉ chứa các giá trị không âm. Chúng có thể trực quan hơn khi chúng ta làm việc ở mức bit và byte, thao tác với pixel trong bitmap, byte trong tệp hoặc dữ liệu nhị phân khác
    • UByte: 1 số nguyên unsigned 8-bit, nằm trong khoảng từ 0 - 255.
    • UShort: 1 số nguyên unsigned 16-bit, nằm trong khoảng từ 0 - 65535
    • UInt: 1 số nguyên unsigned 32-bit, nằm trong khoảng từ 0 - 2^32 - 1
    • ULong: 1 số nguyên 64-bit, nằm trong khoảng từ 0 - 2^64-1

3. Chia lấy nguyên và toán tử mod

  • Hàm floorDiv() giúp chúng ta có thể chia 2 số và lấy phần nguyên của chúng.

  • Hàm mod trả về số dư sau khi chia một số cho ước số. Hàm này khác với toán tử "%", được gọi là "rem" trong Kotlin.

  • Ở đây toán tử "%" trả về -1. Nhưng a.mod(b) là sự khác biệt giữa a và a.floorDiv(b) * b. Nó bằng 0 hoặc có cùng dấu với b, trong khi a%b có thể có một dấu khác.

4. API chuyển đổi kí tự thành số nguyên

  • Đối với các ký tự riêng lẻ, Kotlin đã giới thiệu các chức năng giúp chuyển đổi chúng thành số. Kotlin giới thiệu cách chuyển đổi các kí tự thành các nhóm chức năng sau đây:

    Các hàm lấy mã số nguyên của kí tự và tạo kí tự từ mã đã cho

    Các hàm chuyển kí tự thành giá trị số của số mà nó đại diện

    Một hàm mở rộng cho kiểu số nguyên để chuyển đổi chữ số đơn không âm mà nó biểu thị thành kí tự tương ứng

5. Các hàm chuyển đổi String/Char

  • Kotlin 1.5 giới thiệu một locale-agnostic API cho chuyển đổi văn bản chữ hoa/ chữ thường. Locale-agnostic nghĩa là bất kể cài đặt ngôn ngữ nào trên thiết bị, bạn sẽ nhận được kết quả chuyển đổi nhất quán. Vì vậy, nó giúp bạn tránh các lỗi do cài đặt ngôn ngữ khác nhau.

    Các hàm chuyển đổi chuỗi

    Các hàm chuyển đổi kí tự

    Nếu bạn muốn chuyển đổi dựa trên ngôn ngữ, bạn cần chỉ định rõ ràng ngôn ngữ như bên dưới

Kết bài


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.