나는 이때까지 for each(향상된 포문)쓰려면
Iterable 인터페이스에 있는 iterator() 를 구현해야하는 걸로 알고 있었거든?
라고 코드를 작성해봤어.
예상대로 class Test 에서는 (iterator() 를 주석처리했기때문에) 에러가 발생해.
그런데 Arraylist 클래스안에 있는 elementData는 에러가 안나고 런타임테스트해도 잘 돌아가더라고.
이게 어떻게 가능한거야?
심지어 배열은 iterable을 구현하지도 않는대.
아래 링크들에서 확인했어.
좀 혼란스럽다
- dc official App
배열은 특별 취급되어 허용된다고 보면 됨
답변 고마워. 사실 스택오버플로 저 링크 14 votes 받은 답변도 그렇게 말하긴 하는데 저런 내용이 어디에 있는건지 오피셜적인걸 못찾겠다 - dc App
https://docs.oracle.com/javase/specs/jls/se15/html/jls-14.html#jls-14.14.2
The type of the Expression must be a subtype of the raw type Iterable or an array type (§10.1), or a compile-time error occurs.
ㅠㅠ 고마워 - dc App
링크 너무 고맙다 확실하게 알고가네 - dc App
코드 링크
http://colorscripter.com/s/cSraAzY
- dc App