Jestem całkiem pewien, że można całkowicie usunąć <rzeczy>, która będzie generować ostrzeżenia i można użyć @ stłumić ostrzeżenia. Jeśli naprawdę chcesz, aby był ogólny, ale używał któregokolwiek z jego elementów, musisz wykonać rzutowanie typu. Na przykład, stworzyłem prostą funkcję sortowania bąbelkowego i podczas sortowania listy używana jest nazwa rodzajowa, która w tym przypadku jest w rzeczywistości Tablicą Porównywalnych. Jeśli chcesz użyć przedmiotu, wykonaj coś w stylu: System.out.println ((Double) arrayOfDoubles [0] + (Double) arrayOfDoubles [1]); bo nadziewane double (s) na porównywalne (s), który jest polimorfizm ponieważ wszystkie Jedynka (s) dziedziczą Porównywalne aby umożliwić łatwe sortowanie poprzez Collections.sort()
//INDENT TO DISPLAY CODE ON STACK-OVERFLOW
@SuppressWarnings("unchecked")
public static void simpleBubbleSort_ascending(@SuppressWarnings("rawtypes") Comparable[] arrayOfDoubles)
{
//VARS
//looping
int end = arrayOfDoubles.length - 1;//the last index in our loops
int iterationsMax = arrayOfDoubles.length - 1;
//swapping
@SuppressWarnings("rawtypes")
Comparable tempSwap = 0.0;//a temporary double used in the swap process
int elementP1 = 1;//element + 1, an index for comparing and swapping
//CODE
//do up to 'iterationsMax' many iterations
for (int iteration = 0; iteration < iterationsMax; iteration++)
{
//go through each element and compare it to the next element
for (int element = 0; element < end; element++)
{
elementP1 = element + 1;
//if the elements need to be swapped, swap them
if (arrayOfDoubles[element].compareTo(arrayOfDoubles[elementP1])==1)
{
//swap
tempSwap = arrayOfDoubles[element];
arrayOfDoubles[element] = arrayOfDoubles[elementP1];
arrayOfDoubles[elementP1] = tempSwap;
}
}
}
}//END public static void simpleBubbleSort_ascending(double[] arrayOfDoubles)
Chcesz lista być wypełniane poprzez odbicie? W przeciwnym razie użyj po prostu 'new ArrayList <>()'. –