мне сказали, что этот код будет импортировать все пакеты Java
Нет, он просто сообщает компилятору, какие пакеты должны искать информацию о классе/интерфейсе, когда мы использовали в коде только простое имя, например List
, вместо полного имени java.util.List
(компилятор должен изменить каждое простое имя на свое полное имя).
Как правило, лучше избегать *
, так как это может вызвать проблемы, когда несколько пакетов имеют классы с одинаковым именем. Например позволяет добавить этот импорт
import java.util.*;
import java.awt.*;
и использовать List
. Компилятор не будет знать, какой из List
мы имели в виду здесь (java.awt.List, или java.util.List) и вернем ошибку. Мы можем решить эту проблему, описывая точное местоположение списка, который мы хотим использовать, добавив
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
но, чтобы избежать таких проблем, мы должны стараться избегать *
в первую очередь, тем более, что наши Иды может генерировать импорт для нас.
Это не импортирует все пакеты java, но все классы java в пакете 'java.util'. Он не будет потреблять дополнительную память во время выполнения, поскольку это актуально только во время компиляции. Компиляция может быть немного медленнее, но это вряд ли будет заметно. – geert3
@ geert3, который кажется мне полным ответом - зачем ставить комментарий? – weston
@ geert3 спасибо моему другу. – JoseMiguelCab