자바 기본 학습: 배열 -- 협 변성

753 단어 Java
오늘 책 을 읽 을 때 수조 협 변성 을 봤 어 요. 처음 봤 어 요. 기록 해 주세요!
일단 개념. 협동 성 (covariant): 클래스 Base 가 클래스 Sub 의 부류 라면 Base [] 는 Sbu [] 의 부류 입 니 다.
        Object[] ob = new String[10];
        ob[5] = 10;

위의 코드 가 실 행 될 때 오류 가 발생 할 수 있 습 니 다.
Exception in thread "main"java.lang.ArrayStoreException: java.lang.Integer
자 료 를 통 해 자바 디자인 초기 에 사람들 이 범 형 을 만들어 주 고 싶 었 지만 할 시간 이 없 었 기 때문에 배열 을 협 변 으로 설계 하여 무한 한 후환 을 초래 했다.
비교 해 보면, 우 리 는 범 형 이 변 할 수 없다 는 것 을 알 아야 한다 (invariant)
// List list = new ArrayList();

위의 코드 를 컴 파일 할 때 오류 가 발생 합 니 다!!
이러한 표현 은 자바 의 배열 이 구체화 (reified) 되 었 고, 범 형 은 실행 할 때 지 워 졌 다 는 것 을 설명 한다 (erasure).
기록 조금씩, 자바 사랑, 생활 사랑!

좋은 웹페이지 즐겨찾기