내 프로그램에 배열의 내용을 조작하는 자바 (8)의 Stream
기능을 사용하고 있습니다 :import java.util. *;의 차이점은 무엇입니까? import java.util.stream ;?
Obstacle[] closestObstacles = Stream.generate(() -> new Obstacle()).limit(8).toArray(Obstacle[]::new); // one for each line of attack
이 같은 Stream
가져보십시오 : import java.util.*;
는 나는 "스트림 해결할 수없는 기호"오류가 발생합니다. 대신 Stream
을 다음과 같이 가져 오면 : java.util.stream;
일이 예상대로 작동합니다. 왜 이런 일이 생길까요? Stream
또는 내 프로그램의 다른 곳에서 "스트림"이라는 이름을 사용하지 않으므로 이름 충돌이라고 생각하지 않습니까?
두 번째 시도가 작동하지 않을지 의심 스럽습니다. 어쩌면'import java.util.stream. *;'? 와일드 카드를 사용하여 가져 오는 경우이 패키지의 직접 클래스 만 가져 오며 ** 하위 패키지의 클래스는 가져 오지 않습니다 **. 따라서'import java.util. *'을 사용하면 [여기] (https://docs.oracle.com/javase/9/docs/api/java/util/package-summary.html)에 나열된 모든 클래스와 인터페이스를 가져올 수 있습니다.). 'Stream' 클래스는 실제로 ['java.util.list.stream' 패키지] (https://docs.oracle.com/javase/9/docs/api/java/util/stream/package-summary)에 있습니다. html). – Turing85
실제로'java.util.stream. * '을 임포트하면'java.util.stream' 패키지의 모든 것을 임포트합니다. 'java.util.stream'을 가져 오는 것이 실패합니다 :'error : 심볼을 찾을 수 없습니다' –
어딘가에 다른'Stream' 클래스가 있거나 ('Package' 클래스가 있습니다) 그렇지 않으면'import java. util. *;'는 완벽하게 작동했을 것입니다 –