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

middle

Khi nào thì sử dụng val mutableList hay var immutableList trong Kotlin?

middle

Các extension functions trong Kotlin được giải quyết như thế nào và điều đó có ý nghĩa gì?

senior

Coroutine Scope là gì và nó khác với Coroutine Context như thế nào trong Kotlin?

Bình luận

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

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