2017-12-17 25 views
-5

저는 Java를 처음 사용하고 정적 조회 값을 저장하는 데 도움이 필요합니다.Java 정적 고정 검색 상수 - 디자인 아이디어가 필요합니다

나는 TRANSACTIONSTATUS, LOGINSTATUS, BOOKINGSTATUS 등과 같이 다양한 (150) 상태를 가지고 있으며, 각각 고유 한 키와 값 집합을 가지고 있습니다.

예 :

  1. 된 TransactionStatus (PD = PE가 = '대기 EXCEPTION "'대기 중 ', PS는 ="제출 대기 중')
  2. 의 LoginStatus (LG = "LOGGED IN", FD는 = "실패 "UL ="USER LOCKED ")

응용 프로그램이 시작될 때이 정적 값을 메모리에 보관하는 방법을 생각해보고 필요할 때 참조하십시오. 자바 enum을 읽고 해시 맵에서 속성을 유지했지만 정확히 어떻게 알지는 못했습니다. 도와주세요.

답변

1

다음은 내가 생각할 수있는 것입니다. 마찬가지로 LoginStatus에 대한 열거 형을 생성 할 수 있습니다. 알맞은 Java 참조가 도움이 될 것입니다.

public enum TransactionStatus 
{ 
    PD("Pending"), 
    PE("Pending Exception"), 
    PS("Pending Submission"); 

    private final String value; 

    TransactionStatus(String value) 
    { 
     this.value = value; 
    } 
    public String getValue() 
    { 
     return value; 
    } 
} 
+0

동의 함. 단일 열거 형의 모든 상태를 관리하는 방법이 있습니까? TransactionStatus, LoginStatus 등과 같은? – user2904845

+0

단일 열거 형을 사용하지 않는 것이 좋습니다. 별도의 열거 형을 사용하면 코드가 Login 이벤트 중에 TransactionStatus를 적용하지 못하게됩니다. –

+0

다시 반복하기 만하면 제공된 enum의 카테고리가 다른 객체에 적용될 수 있습니다. 모든 범주에 대해 별도의 열거 형을 만드는 것이 올바른 방법입니다. 이렇게하면 유형 안전 상태 설정기를 사용하여 올바른 오브젝트에 대해 올바른 상태를 설정하게됩니다. 단일 열거 형을 사용하면 쉽게 설정할 수 있습니다. 트랜잭션의 BookingStatus.FAILED. 그리고 액세스하는 한 특수한 구성없이 열거 형에 액세스 할 수 있습니다. 예 : TransactionStatus.PD는 언제든지 사용할 수 있습니다. – Veera