型宣言は汎用的にすべきか?

よく雑誌などの記事で生成時にいきなりダウンキャストしてしまうコードを見かけるのですが,「それってちょっと」という思うことが多いので,あえて書いてみました.

http://cappuccino.jp/keisuken/logbook/20080307.html#p03


これってどういうことだろうか。「List list = new ArrayList();」よりも「ArrayList list = new ArrayList();」のほうがいいということ? 「ローカル変数ならどっちでもいい」というならわかるが、「ローカル変数なら ArrayList list のほうがいい」というのはよくわからない。