Вот голос за звездный импорт. Оператор import предназначен для импорта пакета , а не класса. Гораздо чище импортировать целые пакеты; проблемы, выявленные здесь (например, java.sql.Date
против java.util.Date
), легко устраняются другими средствами, а не действительно , решаемыми определенным импортом, и, конечно, не оправдывают безумно педантичный импорт всех классов. Нет ничего более смущающего, чем открытие исходного файла и необходимость пролистать 100 операторов импорта.
Выполнение определенного импорта затрудняет рефакторинг; если вы удаляете / переименовываете класс, вам нужно удалить все его специфических импортов. Если вы переключаете реализацию на другой класс в том же пакете, вы должны исправить импорт. Несмотря на то, что эти дополнительные шаги могут быть автоматизированы, они действительно являются хитами производительности без реальной выгоды.
Даже если Eclipse не выполняет импорт классов по умолчанию, все равно будут выполнять импорт звездочек. Извините, но на самом деле нет рационального обоснования для выполнения конкретного импорта.
Вот как бороться с конфликтами классов:
import java.sql.*;
import java.util.*;
import java.sql.Date;