스캐너를 사용하여 토큰/값 쌍을 읽는 플랫 파일 파서를 작성했습니다. 읽히는 파일은 토큰 "class"를 포함합니다. 토큰은 나중에 switch 문에서 사용되며 (pre Java 7) valueOf (토큰) Java 관용구를 사용하여 enum 값을 생성합니다. (GWT와의 호환성을 위해 Java6을 사용하고 있습니다.) 임시 해결책으로, 열거 형에서 대문자 값을 사용하고 있으며, valueOf (token.toUpperCase())를 사용하고 있습니다. 이것은 자바 스크립트로 컴파일되고 있기 때문에enum/switch 문에서 예약어를 사용하는 것이 가장 좋은 해결 방법입니까?
public enum ParseTags {
CODE, CLASS, INSTRUCTOR, HOURS;
}
// . . .
token = scanner.next();
value = scanner.next();
switch (ParseTags.valueOf(token.toUpperCase())) {
case CODE:
entry.setCode(value);
break;
case CLASS:
entry.setClass(value);
break;
, 나는 각 반복에 작업 추가 "()를 toUpperCase"를 피하려고; 어떤 성능이 대상 플랫폼에 있는지 확실하지 않습니다. 열거 형에 예약어를 나타내는보다 우아한 방법이 있습니까? 이것은 Java7의 String 스위치에 의해 잘 처리되지만, 다시 Java6sdk에 국한됩니다.
확인을 할 수
같은 것을 고려해 볼 수 있습니다, 감사합니다. 자바 전문가들과 함께 이것을 수행하는 좀 더 우아한 방법이 있는지 확인하고 싶었습니다. – chris