Exception in thread "main" java.lang.NullPointerException오류가 뜨는이유가 뭔가요?
package 과제8;
import java.util.*;import java.text.SimpleDateFormat;
public class TestProgram {
private static ArrayList<Customer> customers;
private static ArrayList<Staff> staffs;
private static Collection<Object> myCollection;
static <T> void addArrayToCollection (Collection<? extends T> a, Collection<T> c) {
c.addAll(a);
}
public static void main(String[] args) throws Throwable{
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Customer customer1=new Customer("이","01044443333","서울0404");
Customer customer2=new Customer("현","01011112222","부산0505");
Customer customer3=new Customer("은","01099998888","포항0101");
//Customer instance 3개 만들기
customers.add(customer1);
customers.add(customer2);
customers.add(customer3);
//3개의 Customer instance를 customers에 추가하기
Staff staff1=new Staff("주","01067674444","홍보부");
staff1.dateHired=dateFormat.parse("2019-02-22");
Staff staff2=new Staff("영","01000002234","기획부");
staff2.dateHired=dateFormat.parse("2017-10-31");
//Staff instance 2개 만들기
staffs.add(staff1);
staffs.add(staff2);
//2개의 Staff instance를 staffs에 추가하기
addArrayToCollection(customers, myCollection);
addArrayToCollection(staffs, myCollection);
for(Object p:myCollection) {
System.out.println(p);
((Person)p).printinfo();
}
}
}
myCollection이 null인거 같네요.
아래처럼 사용하기 전 할당해 줘야 합니다. (자료형은 필요한것으로 맞추세요)
myCollection = new ArrayList();
myCollection 이 Collection으로 선언되어있는데 특별한 이유가 있나요?
아마도 ArrayList가 Collection을 상속받기 때문에 위 코드가 에러가 나진 않을거 같습니다.