찾다

 >  Q&A  >  본문

反射 - java ,将 object类型转换为 ArrayList<> 类型?

伊谢尔伦伊谢尔伦2810일 전728

모든 응답(5)나는 대답할 것이다

  • 阿神

    阿神2017-04-17 17:00:01

    강제 전송은 오류를 보고하기 쉽습니다. 데이터가 강제 전송에 적합한지 확인해야 합니다.
    구체적으로 어떤 기능을 구현하나요?

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:00:01

    list.get()을 괄호 안에 넣으면 실행 순서가 명백히 잘못된 것입니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-17 17:00:01

    Jibing m = (Jibing)list.get(i); 이 문장 앞의 강제 전송은 중복되며 목록 자체에 Jibing이 저장됩니다. 보고된 오류는 ClassCastException이어야 하며, 문제는 ArrayList<Jibing> list =(ArrayList<Jibing>)date; 문장에 있습니다. 이는 날짜가 집합이지만 집합이 Jibing이 아니므로 강제로 실행할 수 있음을 나타냅니다. ArrayList로 변환되지만 요소를 내부로 가져오면 강제로 Jibing으로 변환할 수 없습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 17:00:01

    Object date=pagelist.getResult();
    반환 유형은 명확해야 합니다. 강제로 적용하지 마세요. 고스트는 반환 유형이 무엇인지 알고 있습니다.
    제네릭 사용

    공용 클래스 ServiceResult{
        개인 문자열 resultMsg="";
        개인 int resultCode="";
        비공개 T 결과;
        공개 T getResult(){
            결과 반환;
        }
        공공 무효 setResult(T returnObj){
            this.result=returnObj;
        }
    }
    ...
    ServiceResult>date=pagelist.getResult();
    ArrayList list = date.getResult();
    if (목록 != null && list.size() > 0)
    {
        for (int i = 0; i < list.size(); i++)
        {
            Jibing m = (Jibing)list.get(i);//오류 보고
        }
    }

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-17 17:00:01

    날짜가 최종적으로 어떤 유형으로 반환되는지에 따라 달라지며, 해당 유형에 따라 변환합니다.

    회신하다
    0
  • 취소회신하다