final 을 추가 하지 않 으 면 Cannot find the field dataViewMap in HomeConstant
2007 단어 final
String showTabPage = HomeConstant.dataViewMap.get(user.getRoleName());
이 코드 debug 에서 HomeConstatnt. dataViewMap 을 선택 하면 콘 솔 에 이상 이 표 시 됩 니 다.
Cannot find the field dataViewMap in HomeConstant
나 는 HomeConstant. dataViewMap 의 정 의 를 찾 았 는데 이런 코드 가 있 는 것 을 발견 했다.
public static Map<String,String> dataViewMap = new HashMap<String, String>();
static {
dataViewMap.put("all", "ALL");
dataViewMap.put(M_BBS, "BBS");
dataViewMap.put(M_JYW, "JYW");
dataViewMap.put(M_XX, "XX");
dataViewMap.put(S_COMPANY, "BBS");
dataViewMap.put(S_TEAM, "JYW");
dataViewMap.put(S_CAMPUS, "XX");
}
그리고 나 서 나 는 이 변 수 를 정의 할 때 final 을 붙 이지 않 았 는 지 생각 했다. 그래서 나 는 정 의 를 이렇게 바 꾸 었 다.
public static final Map<String,String> dataViewMap = new HashMap<String, String>();
다시 실행 하면 HomeConstant. dataViewMap 은 가치 가 있 습 니 다. 더 이상 잘못 보고 하지 않 습 니 다. final 을 추가 하지 않 아서 발생 한 것 같 습 니 다. 구체 적 인 원인 은 나중에 설명 하 겠 습 니 다.
PS: final 을 더 한 후에 실 행 했 을 때 오 류 를 보고 하지 않 았 고 나중에 이 오 류 를 보고 하기 시 작 했 습 니 다. 이 오 류 는 final 에 의 한 것 이 아니 라 나중에 이 오 류 를 초래 한 원인 이 비교적 복잡 하 다 고 판단 할 수 있 습 니 다. 하 나 는 제 로 컬 컴 파일 러 에 문제 가 생 겨 서 코드 를 정확하게 컴 파일 할 수 없습니다. 다른 하 나 는 class 파일 의 출력 디 렉 터 리 가 정확하게 출력 되 지 못 하고 해결 방안 은 workspace 를 전환 하 는 것 입 니 다.코드 를 다시 내리 고 출력 경 로 를 다시 설정 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Static과 Final첫번째 foo1은 MyClass.foo1();으로 사용할 수 있고, 두번째 foo2는 MyClass myClass = new MyClass();로 인스턴스를 생성해준 후, myClass.foo2();로 사용할 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.