반응형
hastable 키 열거를 반복하면 NoSuchElementException 오류가 발생합니다.
열거를 사용하여 해시 테이블의 키 목록을 반복하려고하지만 목록의 마지막 키에서 NoSuchElementException이 계속 발생합니까?
Hashtable<String, String> vars = new Hashtable<String, String>();
vars.put("POSTCODE","TU1 3ZU");
vars.put("EMAIL","job.blogs@lumesse.com");
vars.put("DOB","02 Mar 1983");
Enumeration<String> e = vars.keys();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
String param = (String) e.nextElement();
}
콘솔 출력 :
이메일 우편 번호
스레드 "main"java.util.NoSuchElementException의 예외 : Hashtable 열거 자 java.util.Hashtable $ Enumerator.nextElement (Unknown Source)에서 testscripts.webdrivertest.main (webdrivertest.java:47)에서
nextElement()
루프에서 두 번 호출 합니다. 이 호출은 열거 포인터를 앞으로 이동합니다. 다음과 같이 코드를 수정해야합니다.
while (e.hasMoreElements()) {
String param = e.nextElement();
System.out.println(param);
}
for (String key : Collections.list(e))
System.out.println(key);
호출 e.nextElement()
할 때마다 반복기에서 다음 객체를 가져옵니다. e.hasMoreElement()
각 통화 사이 에 확인해야합니다 .
예:
while(e.hasMoreElements()){
String param = e.nextElement();
System.out.println(param);
}
nextElement를 두 번 호출합니다. 다음과 같이 리팩터링하십시오.
while(e.hasMoreElements()){
String param = (String) e.nextElement();
System.out.println(param);
}
당신이 전화하는거야 e.nextElement()
당신은 단지 당신이 예외없이 한 번 호출 할 수 있음을 보장 할 때 루프 내부에 두 번. 다음과 같이 루프를 다시 작성하십시오.
while(e.hasMoreElements()){
String param = e.nextElement();
System.out.println(param);
}
루프에서 nextElement를 두 번 호출합니다. 한 번만 호출해야합니다. 그렇지 않으면 두 번 앞으로 이동합니다.
while(e.hasMoreElements()){
String s = e.nextElement();
System.out.println(s);
}
당신이 e.nextElement()
할 때마다 당신은 하나를 건너 뜁니다. 따라서 루프의 각 반복에서 두 요소를 건너 뜁니다.
반응형
'Programing' 카테고리의 다른 글
JavaScript를 사용하여 상대 경로를 절대 경로로 변환 (0) | 2021.01.05 |
---|---|
Python에서 함수 인수를 확인하는 가장 좋은 방법 (0) | 2021.01.05 |
C # 영역과 같은 CSS의 영역? (0) | 2021.01.05 |
열기 실패 : EACCES (권한 거부 됨) (0) | 2021.01.05 |
매니페스트 병합 실패 오류 (0) | 2021.01.05 |