Enum değerleri
- Kotlin kursu
- Başlangıç
- Ders 95/116
- 4 dk
Enum elemanlarına erişmeyi ve değerlerini öğrenirsin.
Enum değerleri: entries, valueOf, ordinal
entries tüm sabitleri bir liste olarak verir. valueOf("AD") isimden sabite gider. ordinal sabitin tanım sırasını verir.
val liste = Color.entries // [RED, GREEN, BLUE]
val c = Color.valueOf("RED")
println(c.ordinal) // 0entries Kotlin 2.x'te tercih edilen yoldur; değiştirilemez bir listedir. valueOf bilinmeyen bir ad verirsen hata fırlatır; bu yüzden adı doğru yazmak gerekir. ordinal 0'dan başlar ve tanım sırasına göre artar.
entries ve values farkı
Kotlin 2.x'te entries önerilir; değiştirilemez bir List döner. Eski values() her çağrıda yeni bir dizi kurar.
val a = Color.entries // List<Color>
val b = Color.values() // Array<Color>entries her seferinde aynı listeyi paylaşır; bu yüzden daha verimlidir. values() eski kodlarda görülür; yeni yazımında entries kullan. İkisi de sabitleri tanım sırasında verir.
Uygulama Sabitleri sıralarıyla yazdır
Size adında bir enum class tanımla: SMALL, MEDIUM, LARGE. entries üzerinde döngü ile her sabitin adını ve ordinal değerini yazdır.
Başlangıç kodu
fun main() {
// Bir beden türü tanımla ve her sabitin adı ile sırasını yazdır
}Örnek çözüm
enum class Size { SMALL, MEDIUM, LARGE }
fun main() {
for (s in Size.entries) {
println("${s.name} ${s.ordinal}")
}
}Beklenen çıktı
SMALL 0 MEDIUM 1 LARGE 2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yöntem ve görev eşleştir
| Kavram | Anlamı |
|---|---|
entries |
Tüm sabitler |
valueOf |
İsme göre bul |
ordinal |
Sıra numarası |
name |
Sabitin adı |
2 Boşluğu doldur: isimden sabite
val c = Color.____("RED")
val c = Color.valueOf("RED")
Açıklama: valueOf bir adı sabite çevirir.
3 Color.GREEN.ordinal ne döner? (Color: RED, GREEN, BLUE)
- Sabitin adı
- Toplam sabit sayısı
- Sabitin sırası Doğru cevap
- Sabitin rengi
Açıklama: ordinal tanım sırasını verir; GREEN 1 olur.