CodeBlanks Logo Icon CodeBlanks

values ve valueOf

values() ve valueOf() ile enum işlemlerini öğrenirsin.

values tüm sabitleri döndürür

values() enumun tüm sabitlerini bir dizi olarak döndürür. valueOf(String) ise bir addan sabiti elde eder. Bunlar döngü ve dönüşüm için temel araçlardır.

for (Day d : Day.values()) {
  System.out.println(d);
}
Day d = Day.valueOf("MONDAY");

values() her çağrıda yeni bir dizi yaratır, ama küçük enumlarda bunun önemi yoktur. valueOf bulunamayan ad verirse IllegalArgumentException fırlatır; bu yüzden girdiyi denetlemek gerekir. İkisi birlikte enum üzerinde kolay gezinme sağlar.

for-each ile sabitleri gez

values() döndürdüğü dizi üzerinde for-each döngüsü kolayca kurulur. Bu, enumun tüm seçeneklerini listelemek için en sık kullanılan yoldur.

for (Day d : Day.values()) {
  System.out.println(d + " " + d.ordinal());
}

Döngü sırası tanımlanma sırasıyla aynıdır; bu nedenle çıktı öngörülebilirdir. Menü seçeneklerini listelemek veya tüm durumları işlemek için bu düzenek çok elverişlidir. ordinal() ile sıra numarasına da erişebilirsin.

Uygulama Tüm günleri listele

Day enumunu (MONDAY'den SUNDAY'ye) tanımla. values() ile bir for-each döngüsü kur ve her günü ayrı satıra yazdır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // Day enumunu tanımla, values() ile döngü kur, yazdır
  }
}

// Day enumunu buraya tanımla

Örnek çözüm

Main.java
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
// main içinde:
for (Day d : Day.values()) {
  System.out.println(d);
}

Beklenen çıktı

MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Day.valueOf("MONDAY") çağrısı ne döndürür?

  • Bir dizi
  • "MONDAY" dizesi
  • 0
  • Day.MONDAY sabiti Doğru cevap

Açıklama: valueOf bir addan enum sabiti elde eder; dize değil sabitin kendisini döndürür.

2 Yöntemi dönüş türüyle eşleştir

Kavram Anlamı
values() Day[]
valueOf(String) Day
ordinal() int
name() String

3 value Of ile sabit bul

Soru
Day d = Day.____("MONDAY");
Cevap
Day d = Day.valueOf("MONDAY");

Açıklama: valueOf bir addan sabit üretir.

Başlangıç bölümündeki tüm dersler