Java Numaraları
numaralar
An enum
, bir grup
sabiti (değişkenler gibi değiştirilemez final
değişkenler) temsil eden özel bir "sınıftır".
Bir oluşturmak için enum
, enum
anahtar kelimeyi (sınıf veya arayüz yerine) kullanın ve sabitleri virgülle ayırın. Büyük harflerle olmaları gerektiğini unutmayın:
Örnek
enum Level {
LOW,
MEDIUM,
HIGH
}
Nokta sözdizimi enum
ile sabitlere erişebilirsiniz :
Level myVar = Level.MEDIUM;
Enum , "spesifik olarak listelenmiş" anlamına gelen "numaralandırmalar"ın kısaltmasıdır.
Bir Sınıf içinde Enum
Ayrıca enum
bir sınıfa da sahip olabilirsiniz:
Örnek
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
Çıktı olacaktır:
MEDIUM
Switch Deyiminde Enum
Numaralandırmalar genellikle switch
ifadelerde karşılık gelen değerleri kontrol etmek için kullanılır:
Örnek
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
Çıktı olacaktır:
Medium level
Bir Enum Üzerinden Döngü
Enum türünün, values()
tüm enum sabitlerinin bir dizisini döndüren bir yöntemi vardır. Bu yöntem, bir numaralandırmanın sabitleri arasında dolaşmak istediğinizde kullanışlıdır:
Örnek
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
Çıktı olacaktır:
LOW
MEDIUM
HIGH
Numaralandırmalar ve Sınıflar Arasındaki Fark
Bir enum
kutu, tıpkı a gibi class
, niteliklere ve yöntemlere sahiptir. Tek fark, enum sabitlerinin public
, static
ve final
(değiştirilemez - geçersiz kılınamaz) olmasıdır.
An enum
, nesneler oluşturmak için kullanılamaz ve diğer sınıfları genişletemez (ancak arabirimleri uygulayabilir).
Enums Neden ve Ne Zaman Kullanılır?
Ay günleri, günler, renkler, kart destesi vb. gibi değişmeyeceğini bildiğiniz değerlere sahip olduğunuzda numaralandırmaları kullanın.