나는 몇 가지 상수하기 위해 열거를 사용Java에서 enum 시작 값을 설정할 수 있습니까?
enum ids {OPEN, CLOSE};
열림 값이 0을,하지만 난 그게 가능 (100)로 싶어?
나는 몇 가지 상수하기 위해 열거를 사용Java에서 enum 시작 값을 설정할 수 있습니까?
enum ids {OPEN, CLOSE};
열림 값이 0을,하지만 난 그게 가능 (100)로 싶어?
자바 열거 형은 C 또는 C++ 열거 형과 같지 않습니다.이 열거 형은 실제로 정수의 레이블입니다.
자바 열거 형은 클래스와 마찬가지로 구현되며 여러 특성을 가질 수도 있습니다.
public enum Ids {
OPEN(100), CLOSE(200);
private final int id;
Ids(int id) { this.id = id; }
public int getValue() { return id; }
}
큰 차이
은 형태 보증 당신이 SIZE 변수에 COLOR 열거 할당에 대해 걱정할 필요가 없습니다 의미 있다는 것입니다.자세한 내용은 http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html을 참조하십시오.
예. 당신은 정말 같이 열거의 생성자에 숫자 값을 전달할 수 있습니다 :
enum Ids {
OPEN(100),
CLOSE(200);
private int value;
private Ids(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
자세한 내용은 Sun Java Language Guide를 참조하십시오.
쿨를. 혼합 할 수 있습니까? 나는. 선택한 Enum 값에만 숫자를 할당하십시오. –
private 한정자가 열거 형 생성자에 대해 중복 됨 –
매우 큰 enum 유형을 사용하면 다음을 유용하게 사용할 수 있습니다.
무슨 이런 식으로 사용하는 방법에 대한 :
정적 방법을 사용하고 같은 매개 변수 로 열거를 전달할 수 있습니다 ..public enum HL_COLORS{
YELLOW,
ORANGE;
public int getColorValue() {
switch (this) {
case YELLOW:
return 0xffffff00;
case ORANGE:
return 0xffffa500;
default://YELLOW
return 0xffffff00;
}
}
}
단 하나 개의 방법이입니다 :
public enum HL_COLORS{
YELLOW,
ORANGE;
public static int getColorValue(HL_COLORS hl) {
switch (hl) {
case YELLOW:
return 0xffffff00;
case ORANGE:
return 0xffffa500;
default://YELLOW
return 0xffffff00;
}
}
이 두 가지 방법은 메모리와 프로세스 유닛을 더 적게 사용한다는 점에 유의하십시오. 이것이 최선의 방법이라고 말하지만 그것의 또 다른 접근 방법입니다.
두 번째 예제에서'getColorValue()'가 동기화되는 이유는 무엇입니까? – josaphatv
그것은 이해가 안 돼요 .. 내가 코드에서 제거 .. 감사합니다 Logged –
는 C/C++ (기본 납입 및 nexts의 증분)의 열거 모방하려는 경우 :
enum ids {
OPEN, CLOSE;
//
private static final int BASE_ORDINAL = 100;
public int getCode() {
return ordinal() + BASE_ORDINAL;
}
};
public class TestEnum {
public static void main (String... args){
for (ids i : new ids[] { ids.OPEN, ids.CLOSE }) {
System.out.println(i.toString() + " " +
i.ordinal() + " " +
i.getCode());
}
}
}
OPEN 0 100 CLOSE 1 101
성명을 기반으로 java를 사용하여 순차적 열거 형 (C++ 열거 형과 유사)을 만들거나, 인덱스를 배열이나 다른 것으로 만들려면 열거 형을 사용하는 것이 가장 좋습니다. Ids { 이름 (0), 나이 (1), HEIGHT (2), 중량 (3); } 고맙습니다. -bn –
가능성이 있으며 특히 적분 값을 어딘가에서 직렬화하는 경우 특히 그렇습니다. – lavinio
함수에서이 열거 형을 사용하는 방법을 알려주십시오. –