Pessoal estou tentando usar os généricos e estendi o método com Comparable.
O método sort() recebe os valores dos arrays[ ]…até aí tudo bem mas quando quero comparar valores o java acusa dois erros.
import java.util.Random;
/**
*
* @author rafacyber
*/
public class TestandoGenerico {
private static int[] dataInt;
private static float[] dataFloat;
private static Random generator = new Random();
public TestandoGenerico(int size)
{
dataInt = new int[size];
dataFloat = new float[size];
for( int i = 0; i < size; i++)
{
dataInt[i] = 10 + generator.nextInt(90);
dataFloat[i] = (float) ((float) 10.0 + (90.0 - 10.0) * Math.random());
sort(dataInt[i]);
sort(dataFloat[i]);
}
}
public static <T extends Comparable<T>> void sort(T numeros)
{
System.out.print(numeros + " ");
T smallest = null;
if (numeros.compareTo(smallest) == -1)
{
smallest = numeros;
System.out.print(" " + smallest);
}
}
}
Depois de compilar:
Exception in thread "main" java.lang.NullPointerException
at java.lang.Integer.compareTo(Integer.java:938)
at java.lang.Integer.compareTo(Integer.java:35)
at amorgenerico.TestandoGenerico.sort(TestandoGenerico.java:40)
at amorgenerico.TestandoGenerico.<init>(TestandoGenerico.java:28)
at amorgenerico.TestandoGenericoTest.main(TestandoGenericoTest.java:18)
75
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Muito grato por me ajudarem…