java.util.List vs List

ソースに書く時どっちで書くか。前にそんな事で友人ともめたことがある。私はList派で彼はjava.util.Listだった。これには背景がある。彼はAWTとかでバリバリGUIJavaを書く。私はサーバーサイドオンリー。java.awt.Listとの区別のために書くというのだ。
たしかに彼の言い分は正しい。一理あると思っていたが、やはりListが良いんじゃないかという思いが再燃している。
理由はこうだ。

  • java.awt.Listはそのままそう書けば良いじゃないか。他のインプリのリストボックスを使いたい時だってそれでいいじゃないか。
  • GUIを使わないならListはjava.util.Listでしかない。Listと出てきたら常にそれと理解できるではないか。
  • 可読性を考えた場合、汎用的に使われる方が短くなるべきだ。HashMapをnewしてローカル変数作って代入するのに、

java.util.HashMap map = new java.util.HashMap();

とやるより

HashMap map = new HashMap();

の方が見やすいし見間違う事も少ない。

  • importを使うことはいいことだ。何を使っているのか判るのは悪くない話だし、両者が混在する場合であっても、import java.util.Listとしておいて、コレクションはList、リストボックスはjava.awt.Listでいいじゃないか。

ということで、List派でいこうと思うんだけど。