يمكن دمج جافا التعدادات (مثل المختصة بالبت في C #)؟

StackOverflow https://stackoverflow.com/questions/406830

  •  03-07-2019
  •  | 
  •  

سؤال

هل هناك طريقة في جاوة لإعلان التعداد التي يمكن استخدامها جنبا إلى جنب القيم؟ على سبيل المثال:

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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top