上記のコードはgenericsを使用していないという問題があります。
次のように動作します:
Vector<Integer> moves = new Vector<Integer>();
move.add(new Integer(x));
タイプ名を<>
内(Vector
の場合は、型パラメータE
保持する要素については)それは期待すべきオブジェクトの種類をコンパイラーに指示します。
String
とVector<Integer>
を追加しようとすると、指定したタイプのオブジェクトを追加しようとすると、コンパイル時エラーが発生し、予想されるタイプの追加が追加されています。
つまり、Vector
クラスを使用しないようにしてください。より多くの目的のために、Java Collections FrameworkののようなList
を実装するクラスで十分であり、より良い実行である。
編集
直接ジェネリック医薬品についての質問に関連していないものの、アダム・ペインターは、オートボクシングの使用についてのコメントで良い点を育てました。
Java 5以降、プリミティブとそのラッパークラス、 int
とInteger
は必要に応じて自動的に相互に変換されます。
エラーはありません
Vector<Integer> v = new Vector<Integer>();
v.add(5); // Not necessary to use an Integer value.
注意してください。これはエラーではなく、警告です。あなたが警告を気にしなければ、上記を行うことはまだ完全に有効です。 – Joel