-1
String
상수의 그룹을 enum
으로 바꾸 겠지만 상수는 있어야하는 모든 곳에서 사용되지 않았습니다. 따라서 someValue.equals(FOO_CONST)
을 someValue == MyEnum.FOO
으로 대체하고 있습니다. 사용 된 모든 장소를 수정하는 것은 쉽습니다. 단지 상수를 삭제하면 컴파일러가 문제의 위치를 알려줍니다. 그러나 컴파일러가 변경된 후에 오류로 식별 할 수없는 "foo".equals(someValue)
과 같은 비트도 있습니다.문자열 상수를 enum으로 변환 할 때 잠재적 인 오류를 감지
변환 중에 누락 된 이러한 인라인 리터럴로 인해 발생할 수있는 잠재적 인 버그를 발견 할 수있는 방법이 있습니까? (나는 이클립스를 사용하고있다)
"value"가 st이면 ill String 그럼, 오브젝트의 참조를 비교하고 있기 (위해) 때문에, 항상 false를 돌려주는 값 == MyEnum.VALUE는 사용하지 말아주세요. –
나는 명확하지 않았지만, 'value'를 'MyEnum'의 인스턴스로 변경하고, 비교를 위해 열거 형 값을 사용하는 것에 대해서도 말하고있다. –
관련 항목 : http://stackoverflow.com/a/2937561/1393766 – Pshemo