Câu hỏi phỏng vấn Kotlin
Câu hỏi

Làm thế nào để tạo phương thức...

Câu trả lời

Trong Kotlin, các enum class không hỗ trợ trực tiếp các phương thức tĩnh như trong Java, vì Kotlin không có từ khóa static. Tuy nhiên, bạn có thể sử dụng một companion object bên trong enum class để đạt được hành vi tương tự như phương thức tĩnh. Companion object cho phép bạn định nghĩa các phương thức và thuộc tính mà bạn có thể truy cập mà không cần một thể hiện của enum.

Dưới đây là một ví dụ về cách tạo một phương thức "tĩnh" trong một enum class trong Kotlin:

Ví dụ về Enum Class với Companion Object

kotlin Copy
enum class Planet(val mass: Double, val radius: Double) {
    MERCURY(3.303e+23, 2.4397e6),
    VENUS(4.869e+24, 6.0518e6),
    EARTH(5.976e+24, 6.37814e6),
    MARS(6.421e+23, 3.3972e6),
    JUPITER(1.9e+27, 7.1492e7),
    SATURN(5.688e+26, 6.0268e7),
    URANUS(8.686e+25, 2.5559e7),
    NEPTUNE(1.024e+26, 2.4746e7);

    companion object {
        fun getLargestPlanet(): Planet {
            return values().maxByOrNull { it.radius } ?: EARTH
        }
    }
}

fun main() {
    val largestPlane...
senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Sự khác biệt giữa launch/joinasync/await trong Kotlin coroutines là gì?

middle

Bạn có thể sử dụng IntArrayArray<Int> trong Kotlin một cách linh hoạt không?

expert

Tại sao chúng ta sử dụng companion object như một loại thay thế cho các trường static của Java trong Kotlin?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào