質問
1は、生タイプの使用を禁止するようにコンパイラに伝えるために渡すことができます任意のJavaコンパイラフラグはありますか?これは、任意の一般的なクラスに、パラメータ化バージョンを使用するコンパイラの力を聞かせて、それ以外の場合はコンパイルエラーを投げる、ありますか?
解決
JDK7(B38)は -Xlint:rawtypes
に導入します。上述したように、-Xlint:unchecked
がオフの変換について警告します。
javacのチームのマウリツィオCimadamoreはそれについてのブログエントリを書きました。
他のヒント
あなたは警告やエラーであることをEclipse内生型の使用を設定することができます。
これは、環境設定/ Javaの/コンパイラ/エラーと警告/ジェネリックタイプ/生タイプの使用法の下のです。
javac
は、私の知る限り承知しているとして、このようなものを持っていない - でも-Xlint:all
であなたのような何かの警告を得ることはありません。
ArrayList x = new ArrayList();
あなたはそれを介して、警告を表示するために取得することができます
-Xlint:未確認
これは、いくつかの中に警告を生成しますが、すべてではないが、不足しているジェネリック医薬品の例ています。
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(final String[] argv)
{
List list = new ArrayList(); // no warning at all
list.add("Hello"); // warning will be on this line
}
}
あなたが戻って、宣言にジェネリックを追加するコードを修正することができます警告が与えられます。
の理想はない、と私は右覚えていれば、それはまだすべてをキャッチしません。
所属していません StackOverflow