Эй, я пытаюсь реализовать алгоритм ShellSort и теперь у меня проблема:Неконтролируемой проблема литой
warning: [unchecked] unchecked cast
found : java.util.Vector
required: java.util.Vector<java.lang.Object>
Vector<Object> vcur = (Vector<Object>)currentCols[tcur];
То же самое с vtmp
.
Я не знаю, где проблема. Было бы здорово, если бы вы могли мне помочь. :)
Это мой код:
public static Vector<Object> shellSort(Vector<Object> ul) {
int lcount = ul.size();
int colcount = 4; // 2^x
Vector[] currentCols = { ul };
for(; colcount > 0; colcount = (colcount/2)) {
Vector[] tmpCols = new Vector[colcount];
for(int t1 = 0; t1 < colcount; t1++) {
tmpCols[t1] = new Vector<Object>();
}
int tcur = 0;
int tcurlvl = 0;
int ttmp = 0;
for(int t2 = 0; t2 < lcount; t2++) {
Vector<Object> vcur = (Vector<Object>)currentCols[tcur];
Vector<Object> vtmp = (Vector<Object>)tmpCols[ttmp];
vtmp.addElement((Object)vcur.elementAt(tcurlvl));
// step to next place
tcur++;
ttmp++;
if(tcur == currentCols.length) { tcur = 0; tcurlvl++; }
if(ttmp == tmpCols.length) { ttmp = 0; }
}
}
return ul;
}
После попытки вашего кода и фиксируя его немного там снова предупреждение: [снят] сняты литая найдено: java.lang.Object требуется: java.util.List [] Список [] tmpCols = (Список []) Array.newInstance (List.class, colcount); –
papr
Yup. Невозможно удалить жалобу (что я знаю), но этот код ближе к тому, что вам нужно (даже если вы просто возьмете код Array.newInstance). Как правило, предупреждение о компиляторе - это плохо, в этом случае, поскольку вокруг нет пути, вам просто нужно принять его. – TofuBeer