내 질문이 코드에 관한 것입니다 :자바 패키지 가져 오기
import java.util.*;
나는,이 코드는 모든 Java 패키지를 가져올 것이라고 말했지만, 내 질문은 : 가 더 많은 메모리를 소비합니까? 프로그램에서 내가 뭘 때문에 난 그냥 사용하고 있습니다 : 도움을
import java.util.Scanner;
및
import java.util.InputMismatchException;
감사합니다.
내 질문이 코드에 관한 것입니다 :자바 패키지 가져 오기
import java.util.*;
나는,이 코드는 모든 Java 패키지를 가져올 것이라고 말했지만, 내 질문은 : 가 더 많은 메모리를 소비합니까? 프로그램에서 내가 뭘 때문에 난 그냥 사용하고 있습니다 : 도움을
import java.util.Scanner;
및
import java.util.InputMismatchException;
감사합니다.
아니요, 지연 유입은 결과 프로그램에 영향을주지 않습니다. 이 질문을보십시오 : Java import vs code performance
lazy imports와 명시 적 imports를 사용하는 것은 가독성의 문제입니다. (당신이 두 개의 패키지에 존재하는 클래스 이름을 참조하는 경우 또한, 당신은 모호성을 해결하기 위해 명시 적으로 가져 오기를해야합니다.)
은이 코드는 모든 Java 패키지를 가져옵니다 들었다
아니요, 컴파일러에게 코드 전체 이름이 java.util.List
(컴파일러는 전체 이름으로 변경해야 함) 대신 List
과 같은 단순한 이름 만 사용했을 때 어떤 패키지가 클래스/인터페이스에 대한 세부 정보를 검색해야하는지 알려줍니다.
일반적으로 *
을 피하는 것이 좋습니다. 동일한 이름의 클래스가있는 패키지가 거의 없을 때 문제가 발생할 수 있기 때문입니다. 예를 들어이
import java.util.*;
import java.awt.*;
를 가져 추가하고 List
를 사용할 수 있습니다. 컴파일러는 우리가 여기에 무엇을 의미했는지 (예 : java.awt.List 또는 java.util.List) 알 수 없으며 오류를 반환합니다. 우리는
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
우리는 우리의 IDE가 우리를 위해 수입을 생성 할 수 있습니다 특히 이후, 처음에 *
을 피하기 위해 시도해야 이러한 문제를 피할 것이 아니라 추가하여 우리가 사용하고자하는 목록의 정확한 위치를 설명하여 해결할 수 있습니다.
모든 자바 패키지를 가져 오지는 않지만 java.util 패키지의 모든 자바 클래스를 가져옵니다. 컴파일하는 동안에만 관련되므로 런타임 메모리를 추가로 소비하지 않습니다. 편집 속도가 다소 느려질 수도 있지만 눈에 띄지 않습니다. – geert3
@ geert3는 나에게 완벽한 대답처럼 보입니다. – weston
@ geert3 내 친구에게 감사드립니다. – JoseMiguelCab