Java EnumSet

Java EnumSet


기존 ENUM 타입을 가져올때

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package enumSet;

public class Text1 {
public static final int STYLE_BOLD = 1 << 0;
public static final int STYLE_ITALIC = 1 << 1;
public static final int STYLE_UNDERINE = 1 << 2;
public static final int STYLE_STRIKETHROUGH = 1 << 3;
private int retStyles = 0;

/**
* 스타일을 비트 세팅으로 설정한다.
*
* @param styles
*/
public void applyStyles(int styles) {
this.retStyles = styles;
} // End Of Method applyStyles

/**
* 설정된 내용 보여주기
*/
public void showStyle() {
System.out.println("현재 지정된 스타일 결과 값 : " + retStyles);
} // End Of Method showStyle

public static void main(String[] args) {
Text1 t = new Text1();
t.applyStyles(STYLE_BOLD | STYLE_ITALIC);
t.showStyle();
}
}

ENUM SET으로 가져온다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package enumSet;

import java.util.EnumSet;
import java.util.Set;

public class Test2 {
public enum Style {
BOLD, ITALIC, UNDERLINE, STRIKETHROUGH
}

private Set<Style> retSet;

/**
* 스타일을 비트 세팅으로 설정한다.
*
* @param styles
*/
public void applyStyles(Set<Style> styles) {
this.retSet = styles;
} // End Of Method applyStyles

/**
* 설정된 내용 보여주기
*/
public void showStyle() {
for (Style temp : retSet)
System.out.println("현재 지정된 스타일 : " + temp.name());
} // End Of Method showStyle

public static void main(String[] args) {
Test2 t = new Test2();
t.applyStyles(EnumSet.of(Style.BOLD, Style.ITALIC));
t.showStyle();
}
}
Share