- ベストアンサー
*でimportするのと、クラス名まできちんと指定するのと
Javaの開発経験は2年くらいですが、未だに疑問でした。 例えばVectorクラスを使いたいとき import java.util.Vectorとする人もいれば、 import java.util.* としてしまう人もいますよね。 前者の人は使うクラスが増えるたびに、丁寧にクラス名でインポートします。*は一切使いません。 やっぱりこの方がメモリを食わない、等の理由でよいのでしょうか?特に最近、こういうソースを良く見かけます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
メモリと速度は関係ないはずです。 これはプログラミングスタイルの問題です。 いちいちクラス名を記述するやり方だと、 別のパッケージでクラス名の重複があったとき対処しやすい、 あるいは重複に気付きやすいため、 こちらの方が上品なやり方だとされています。 (たとえば、java.utilのTimerとSwingのTimerはよくかぶります) 対して、import ...*;でインポートするやり方は、 書くのは簡単だけどあとで混乱するおそれがあります。 後者は、楽だけれど、 「バグを起こしやすいじゃないか!」 といわれると反論できません。 それで前者が推奨され、広まっているようです。 (私自身は、前者の方がいいのはわかっているけれど、 無精なのでついつい*を使ってしまいます)
お礼
なるほど、メモリとは関係なく、上品なんですね。 よくわかりました。 最近担当しているエンドユーザーはソースをチェックしたりするので、それでこういうのを厳密にしているのかもしれないです。 ありがとうございました。