2017-12-11 12 views
0

下のコードから型安全変換警告を取得しています。型安全変換の取得

List<Map<String, Object>> batchValues = new ArrayList<>(entity.size()); 

int[] noOfRecords = namedParameterJDBCTemplate.batchUpdate(updateQuery, batchValues.toArray(new Map[entity.size()])); 

batchValues.toArray(新しいマップ[entity.size()])安全を入力:タイプマップの 発現は、[] マップ[]

に適合するように未チェックの変換を必要とメソッドレベルで@SuppressWarnings("unchecked")このアノテーションを使用した場合、問題は解決されます。

問題を解決する最適なソリューションは何ですか?

+0

おそらくあなたが適応することができます:https://stackoverflow.com/a/2848268/180100あなたが何をするか分かっている場合、注釈を使用してOKです。また、batchValuesの配列を使用することもできます(サイズは分かります) –

+0

https://stackoverflow.com/questions/7131652/generic-array-creation-errorの複製(重複としてマークされていますが、実際にはisn 't)。 –

答えて

0

メソッド宣言が<T> T[] toArray(T[] to)

変数の割り当ては、[] Mapとして入力されたが、方法の基準と、それは宣言は、パラメータとしてシンプル行うことができます<T>を受け付けているので、[]

オブジェクトですです:

batchValues.<Map<String, Object>>toArray(new Map<String, Object>[entity.size()]) 
+0

型なしの 'Map'は"未チェック "の警告を生成します。 – VGR