يمكن دمج جافا التعدادات (مثل المختصة بالبت في C #)؟
سؤال
هل هناك طريقة في جاوة لإعلان التعداد التي يمكن استخدامها جنبا إلى جنب القيم؟ على سبيل المثال:
enum FileAccess { Read, Write, ReadWrite }
هل من الممكن تحديد للقراءة والكتابة كما Read | Write
(أو أي شيء من شأنه أن تعطي نفس النتيجة)؟
المحلول
واستخدام EnumSet :
EnumSet<FileAccess> readWrite = EnumSet.of(FileAccess.Read, FileAccess.Write);
وهذا هو في الواقع إلى حد ما أكثر أناقة من C # / طريقة NET، IMO - وبصرف النظر عن أي شيء آخر، يمكنك بسهولة تمييز بين مجموعة وقيمة واحدة
نصائح أخرى
EnumSet الذي يسمح لك للقيام بذلك بكفاءة:
EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);
لا تنتمي إلى StackOverflow