문제

나는 약 .NET 2와 Java 5와 6의 4 년 후 MIDP 개발로 돌아 왔습니다. 그 시간 동안 나는 열거를 많이 사용하는 것을 좋아했습니다.

Enum은 개발자가 코드의 일부에 대해 더 많은 자신감을 가질 수있는 언어 기능으로, 특히 (편집 중에) 오류를 피하거나 감지 할 수 있습니다. 다른 장점은 여기에서 찾을 수 있습니다. http : // java.sun.com/j2se/1.5.0/docs/guide/language/enums.html

나는 2.0 중반에 그들을 찾을 수 없다는 것이 이상하다는 것을 알았습니다. 이 오류 메시지가 있습니다.

"유형 'Enum'은 소스 수준 1.5의 예약 키워드이므로 식별자로 사용해서는 안됩니다."

나는 Java 1.4에서 얼마 동안 경험을했지만 이것을 기억하지 못했습니다. 당연한 것으로 여겨지는 최신 버전의 고급 언어 기능이 있습니다 ...

어쨌든, 여기에 그들없이해야 할 일에 대한 좋은 권장 사항이 있습니다 (Java 5 이전에 MIDP를 개발하거나 코드를 다루는 경우) : http : // www.javacamp.org/designpattern/enum.html

요약 (자세한 내용과 좋은 설명은 이전 링크를 따르십시오. 원래 저자에게 감사드립니다) :

//The typesafe enum pattern
public class Suit {
    private final String name;

    public static final Suit CLUBS =new Suit("clubs");
    public static final Suit DIAMONDS =new Suit("diamonds");
    public static final Suit HEARTS =new Suit("hearts");
    public static final Suit SPADES =new Suit("spades");    

    private Suit(String name){
        this.name =name;
    }
    public String toString(){
        return name;
    }

}

이 문제에 대한 다른 접근법이 있습니까?

도움이 되었습니까?

해결책

MIDP의 문제점은 Java Language 1.2 (일부는 1.3 또는 1.4라고 말하지만 요점이 아님)에 붙어 있다는 것입니다. 열거는 1.5에 도입되었다는 것입니다. 귀하의 패턴은 올바른 방향으로 나아가는 단계이지만 각 상수에 서수 번호를 할당하는 것과 같은 "실제"열거의 특징이 부족합니다.

1.5에 도입 된 제네릭, 주석 등과 비슷한 문제가 발생할 수 있습니다. Java 1.5를 1.2로 전환하는 도구가 있으며 일부는 나열됩니다. 여기. 그렇게하면 1.5로 코딩하고 Midp에서 실행할 수 있어야합니다. 그러나 이러한 도구를 사용하면 빌드 프로세스가 상당히 복잡하지만 언급 한 솔루션은 그렇지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top