programing

JSON 반복기를 사용한 안전 경고 입력

bestprogram 2023. 3. 13. 21:11

JSON 반복기를 사용한 안전 경고 입력

문제는 JSONObject에서 반복기를 얻는 것입니다.

가장 간단한 형식의 코드 생성 오류:

String json = client.retrieveList();
JSONObject jsonList = new JSONObject(json);
Iterator<String> i = jsonList.keys();

while(i.hasNext())
{
    String next = i.next();
    JSONArray jsonArray = jsonList.getJSONArray(next);
    // Do stuff with jsonArray, example: jsonArray.getString(0), jsonArray.getString(1);
}

정확한 경고는 다음과 같습니다.형식 안전:반복자 형식 표현식에 반복자를 준수하려면 선택되지 않은 변환이 필요합니다.

문제는 어떻게 하면 이 경고를 뿌리뽑을 수 있을까?

감사합니다!

오래된 실타래라는 건 알지만, 미래의 탐색자들에게는...

당신은 또한 일반을 추론할 수 있고 반복기 방법의 수익을 캐스트할 수 있다.

Iterator<?> i = jsonList.keys();

while(i.hasNext())
{
    String next = (String) i.next();
    ...

코드를 오래된 레거시 API와 혼합하면 이러한 종류의 경고가 발생할 수 있습니다.경고를 "삭제"하려는 경우 SuppressWarnings 주석을 사용할 수 있습니다.경고 억제 옆에 코멘트를 남기는 것이 좋습니다.사용자의 경우 다음과 같습니다.

@SuppressWarnings("unchecked") //Using legacy API
Iterator<String> i = jsonList.keys();

건배!

언급URL : https://stackoverflow.com/questions/4296496/type-safety-warning-with-json-iterator