전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

JAVA

[자바/JAVA] 프로그래밍 - 객체 배열(Object Array) 오류

2023. 6. 12. 17:32

1. NullPointerException : 객체배열의 각 인덱스에 담긴 값이 null인 상태에서 메소드를 호훌하려고 했기 때문에 오류가 발생 

package com.kh.chap02_objectArray.run;

import com.kh.chap02_objectArray.model.vo.Phone;

public class WrongSample {

	public static void main(String[] args) {

		Phone[] arr = new Phone[3];	
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i].getName());
		}
	}
}


조치내용 => 객체배열을 만든 후 각 인덱스별로 객체 생성을 진행해야됨

package com.kh.chap02_objectArray.run;

import com.kh.chap02_objectArray.model.vo.Phone;

public class WrongSample {

	public static void main(String[] args) {

		Phone[] arr = new Phone[3];
		
		// -------- 1번째 문제의 조치내용 ----------- 
		arr[0] = new Phone();
		arr[1] = new Phone();
		arr[2] = new Phone();
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i].getName());
		}
	}
}

2. ArrayIndexOutOfBoundsException : 배열의 적절한 인덱스 범위를 벗어난 경우

package com.kh.chap02_objectArray.run;

import com.kh.chap02_objectArray.model.vo.Phone;

public class WrongSample {

	public static void main(String[] args) {

		Phone[] arr = new Phone[3];
		
		arr[0] = new Phone();
		arr[1] = new Phone();
		arr[2] = new Phone();
		
		for(int i = 0; i < arr.length+1; i++) {
			System.out.println(arr[i].getName());
		}
	}
}


조건식으로 i <= 배열의 길이라고 제시돼있음. 배열의 마지막 인덱스보다 큰 값이 제시 
조치내용 => 조건식 수정 (i < 배열의 길이)

package com.kh.chap02_objectArray.run;

import com.kh.chap02_objectArray.model.vo.Phone;

public class WrongSample {

	public static void main(String[] args) {

		Phone[] arr = new Phone[3];	// 배열만 !!!!
		
		arr[0] = new Phone();
		arr[1] = new Phone();
		arr[2] = new Phone();
		
		
		for(int i = 0; i < arr.length; i++) {	
        // 2번째 문제의 조치내용 i < arr.length +1 => i < arr.length
			System.out.println(arr[i].getName());
		}
	}
}

 

    'JAVA' 카테고리의 다른 글
    • [자바/JAVA] 프로그래밍 - 오버라이드 (Override)
    • [자바/JAVA] 프로그래밍 - 상속성 (Inheritance)
    • [자바/JAVA] 프로그래밍 - 객체 배열(Object Array), for each문(향상된 for문)
    • [자바/JAVA] 프로그래밍 - 객체 배열(Object Array) 실습 예제
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바