본문 바로가기

TroubleShooting/Java

c# enum Flags 를 java 코드로 변경

728x90

c# 에서 enum 변수를 AND/OR 연산이 가능하게 선언되었을때, java 에서 비슷한 코드를 만드는 방법을 찾아서 테스트 해보았다.

enum MccAppError {
    Success = 0x01,
    SuccWithError = 0x02,
    ...
}

// c#
MccAppError error;
error = MccAppError.Success | MccAppError.SuccWithError;
if (error & MccAppError.Success)
    Console.writeLine("true");

java 로 구현.

// java

EnumSet<MccAppError> error;

error = EnumSet.of(MccAppError.Success, MccAppError.SuccWithError);

if (error.contains(MccAppError.Success))

    System.out.println("true:" + error);


출처:

http://www.dotnetperls.com/enum-flags

http://stackoverflow.com/questions/14073836/switch-on-enumset