Re: Why so many imports instead of java.io.* ?
On 8/14/2012 5:45 AM, Eric Sosman wrote:
> On 8/14/2012 8:23 AM, Timothy Madden wrote:
>> Is it just me or people tend to enumerate all the needed classes for a
>> Java source file each in its own import line ?
>> Why is it better to use:
>> import java.io.IOException
>> import java.io.FileNotFoundException
>> import java.io.FileOutputStream
>> import ...
>> instead of just:
>> import java.io.*
>> Which, by the way, also needs no maintenance in case a new class or
>> exception is needed in the file at a later time.
> On the other hand, it *will* need maintenance if the next
> Java release adds a java.io.Wotsit class, and your file already
> has its own Wotsit. Import them one by one and the new Wotsit
> won't clash with yours; import them en masse and it will.
> The rest of the answer, I think, is that Somebody Somewhere
> decided that it was "better style" to import individually than
> by wildcard, and SS' opinion got codified into the out-of-the-box
> settings for tools like Eclipse and NetBeans. Bowing to SS' ideas,
> these tools complain about wildcard imports, while at the same time
> making it easy to generate the individual imports. Most people
> don't tinker much with the out-of-the-box settings, so the code they
> create with these IDE's follow that style.
I don't think the out-of-box settings in e.g. Eclipse should drive
actual programming style. A programmer who prefers wildcard imports
should use them, and tell the IDE not to warn on it.
I would perhaps be too lazy to do single class imports without IDE support.
Personally, I prefer specific class imports because that way the imports
give a quick overview of the external features the class uses.