Java列挙をマージできますか(C#のビット単位のように)?

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

  •  03-07-2019
  •  | 
  •  

質問

Javaで、値を一緒に使用できる列挙を宣言する方法はありますか?例:

enum FileAccess { Read, Write, ReadWrite }

ReadWriteを Readとして定義することは可能ですか?書き込み(または同じ結果をもたらすもの)?

役に立ちましたか?

解決

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