I have this compiler warning : Use of unchecked or unsafe operation on the above code
new InsertAllTask(essenceDao).execute(essenceList)
but I don't know why, I tried to run with -Xlint params no more informations.
The code works but warning is still there.
Hope you can help
Entire task :
public static class DeleteAllTask extends AsyncTask<Void, Void, Void> {
private final EssenceDao essenceDao;
private final List<Essence> essenceList;
DeleteAllTask(EssenceDao essenceDao, List<Essence> list) {
this.essenceDao = essenceDao;
this.essenceList = list;
}
@Override
protected Void doInBackground(Void... voids) {
essenceDao.deleteAllEssence();
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
if (essenceList != null) {
// Insert new list
new InsertAllTask(essenceDao).execute(essenceList);
}
}
}
The InsertTask :
public static class InsertAllTask extends AsyncTask<List<Essence>, Void, Void> {
private final EssenceDao essenceDao;
InsertAllTask(EssenceDao essenceDao) {
this.essenceDao = essenceDao;
}
@Override
@SafeVarargs
protected final Void doInBackground(List<Essence>... essences) {
essenceDao.insertEssence(essences[0]);
return null;
}
}
, Void, Void>```same as DeleteAllTask
– lupaulus May 23 '20 at 12:08, Void, Void>` and only using the first parameter of the varargs method, you could implement `AsyncTask` and use all arguments, e.g. `doInBackground(Essence... essences) { essenceDao.insertEssence(Arrays.asList(essences)); return null; }`. But then, the caller also needs to pass an array, i.e. `new InsertAllTask(essenceDao) .execute(essenceList.toArray(new Essence[0]));`
– Holger May 26 '20 at 16:09