수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

removeRange() 메서드는 어떻게 사용할 수 있나요?

VE

2023.04.01



arraylist 내에 보면 removerange메써드 있습니다. 허나 문제는 이 메써드가 protected 된 상태라서
외부클래스에서 접근이 불가능 합니다.

해서 이를 사용하고 자 한다면... 어떻게 해야 할까요? 이너 클래스를 이용해야 하나요?

public class removerange extends arraylist {

protected void removerange(int a, int b){
super.removerange(a, b); 여기서 에러가 발생합니다.
}

public void test(){

arraylist r = new arraylist();
r.add(100);
r.add(200);
r.add(300);
r.add(400);
r.add(500);

for(int i=0; ir.size();i++){
system.out.println(r.get(i));
}
removerange(1,3); 여기서 호출시...

for(int i=0; ir.size();i++){
system.out.println(r.get(i));
}

}

public static void main(string[] args) {
removerange rr = new removerange();
rr.test();
}

}


저상태로 돌리면 arrayindexoutofboundsexception 가 발생합니다.

상위로 돌려줄때 해당 오브젝트를 같이 보내야 할꺼 같은뎅...ㅡㅠ
저러식이 아닌 메인 클래스 내에서 돌리면 아무런 문제가 없이 사용가능합니다.
즉, 메인에서는 removerange메써드를 오버라이딩 필요없이 바로 사용이 가능하나,
저러식으로 할때는 removerange()메써드 자체가 보이지 않습니다.ㅡ.ㅡ

어떻게 해야 할까요? 이너클래스 사용하려고 해도 비슷한거 같은데...
아시는분 답변좀 부탁드립니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 초코홀릭

    그리고 혹시

    protected void removeRange(int a, int b)

    이 함수를 다른 class에서 사용을 하실려고 하신거라면

    protected void removeRange(ArrrayList targetArrayList, int a, int b)
    {
    targetArrayList.removeRange(a, b);
    }

    라고 하시면 될 듯 합니다..

    근데.. ArrayList를 왜 상속 받으셨는지 모르겠네요..

  • 남자

    음.. 우선 해당 에러가 발생하는 이유는 님이 하실려는 의도와 코딩이 다르기 때문인것 같습니다.

    super.removeRange(a, b);

    이 부분에서 super라고 하시면 extends로 상속받은 ArrayLsit의 엘리먼트를 삭제하는 건데.. 상속 받으신 ArrayList에 엘리먼트가 있는지 먼저 확인을 해보셔야 할거 같습니다.
    확인 방법은 super.size()로 크기를 알 수 있을 것 같습니다.

    그리고 만약 r의 엘리먼트를 삭제 하실려고

번호 제 목 글쓴이 날짜
2703607 MFC 작성중에 인터넷(Web)관련하여 연동이 되게끔 만들려고 하고 있습니다 Addictive 2025-08-02
2703579 톰캣-아파치 서버에 관한 질문입니다. (2) 바나나맛사탕 2025-08-02
2703520 직사각형그리기 질문이요~! 펴라 2025-08-02
2703461 웹호스팅을 변경하려고 합니다. 찬놀 2025-08-01
2703432 dl이 dt크기만큼 안늘어납니다. (5) 불꾼 2025-08-01
2703372 조직도이미지의 대체텍스트는... (9) 한샘가온 2025-07-31
2703348 쿽스모드가 무엇인지 궁금합니다. (4) 나려 2025-07-31
2703324 [접근성]더보기 (8) 매1혻적 2025-07-31
2703274 AVADA 테마 메인화면 슬라이드 질문.. 뿌우 2025-07-30
2703218 kboard 게시판 질문요 !! 핑크빛입술 2025-07-30
2703188 HTML 4.01에서 faq 제이쿼리 슬라이드업 되면서 떨림문제 (2) 꺄홋 2025-07-30
2703163 수다님 죄송한데 질문하나하겠습니다.. (1) 나오 2025-07-29
2703138 [질문]java강좌란에서 궁금한 점이 있어 올립니다. (2) 옆집오빠야 2025-07-29
2703109 HTML5 코드 내용이 달라요..ㅜㅜ (1) 우솔 2025-07-29
2703032 이런 질문도 가능할 지는 모르겠지만요~ (1) SweetChoco 2025-07-28
2703009 레이어 코딩 어떻게 해야 할까요? 수련 2025-07-28
2702980 익스 개발툴에서 대체텍스트보기에 대해 질문있어요~ (5) 핑크빛애교 2025-07-28
2702927 jsp 공부중인대 회원등록을누르면 등록이 안되고 에러가나요 소율 2025-07-27
2702843 16진수 출력시 10을 제거 하는 방법 좀 알려주세요 (3) Schokolade 2025-07-26
2702818 float:left , right 왜그런거죠? (4) 화이트캣 2025-07-26
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com