Giriş
Belirtilen enum'dan bir set döner. Enum.values() metodu bir array döner. Bu array üzerinde yürüyerek arama arama yapmaktan daha kolay olabilir.
Bu sınıf aslında abstract'tır. of(), complementeOf(), allOf() gibi factory metodları ile gerçek sınıfı elde ederiz. Sınıf şöyledir.
Şöyle yaparız
Set nesnesi döner.
Örnek
Şöyle yaparız
Şöyle yaparız.
Örnek
Elimizde şöyle bir kod olsun.
of metodu
Örnek
Şöyle yaparız.
Belirtilen enum'dan bir set döner. Enum.values() metodu bir array döner. Bu array üzerinde yürüyerek arama arama yapmaktan daha kolay olabilir.
Bu sınıf aslında abstract'tır. of(), complementeOf(), allOf() gibi factory metodları ile gerçek sınıfı elde ederiz. Sınıf şöyledir.
public abstract class EnumSet<E extends Enum<E>>
extends AbstractSet<E> implements Cloneable, Serializable
TanımlamaŞöyle yaparız
enum MyEnum { Enum1, Enum2, Enum3, Enum4, Enum5};
EnumSet<MyEnum> enumSet;
allOf metoduSet nesnesi döner.
Örnek
Şöyle yaparız
Set<? extends Enum> allSlots = EnumSet.allOf(Slot.class);
ÖrnekŞöyle yaparız.
public static <E extends Enum<E>> Enum<E> getEnumByName(Class<E> clazz, String str){
for(E en : EnumSet.allOf(clazz)){
...
}
return null;
}
contains metoduÖrnek
Elimizde şöyle bir kod olsun.
Set< DayOfWeek > weekend = EnumSet.of( DayOfWeek.SATURDAY , DayOfWeek.SUNDAY ) ;
Şöyle yaparız.boolean isTodayWeekend = weekend.contains( LocalDate.now().getDayOfWeek() ) ;
of metodu
Örnek
Şöyle yaparız.
enumSet = EnumSet.of (Enum1, Enum2);
of metodunun 5 parametreye kadar overload edilmiş hali var.public static <E extends Enum<E>> EnumSet<E> of(E e)
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2)
.
.
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4, E e5)
Ayrıca varargs gibi de parametre alabiliyor.public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest) {
EnumSet<E> result = noneOf(first.getDeclaringClass());
result.add(first);
for (E e : rest)
result.add(e);
return result;
}
Hiç yorum yok:
Yorum Gönder