Javaコンパイラを自動的にキャストするように変更することのマイナス面や問題の可能性はありますか? 以下の例では、list.get(0) の結果が変数 hi の型に自動的にキャストされます。
List list = new ArrayList();
list.add("hi");
String hi = list.get(0);
ジェネリックを使用するとキャストを減らすことができることは知っていますが、宣言をより困難にするという犠牲を払っています。私にとって、ジェネリックの利点は、コンパイラーがより多くのルールを適用できるようにすることです。ジェネリックはキャストを減らすのではありません (ただし、あまり使用していないため、多少情報がありません)。この提案は、入力するコードの量を減らすだけで、別の場所に移動することはありません。また、コレクションが異なるオブジェクトを持つ可能性があるため、ジェネリックを使用できない場合もあります。それが現在の使用法に基づいて「あまりにも驚くべきものに見える」場合は、それを使用するための構文の調整が必要になる可能性があります。
から: http://jamesjava.blogspot.com/2007/01/automatic-casting.html