Ho un codice, che implementa un insieme con una lista linkata, dove devo ordinare gli elementi secondo un SelectionSort in un metodo static factory, ma c'č un metodo che non viene invocato e non capisco perchč.
Il metodo static factory č:

codice:
public static <E extends Comparable>OrderedSet270710<E> SelectionSortBuild(E[] a)
Ordina l'insieme e lo restituisce, ma nel mio codice non posso utilizzare all'interno del metodo una funzione SelectionSort e non capisco perchč.

codice:
public static <E extends Comparable>OrderedSet270710<E> SelectionSortBuild(E[] a)
	{
		SelectionSort(a);
		LinkedList<E> lista2=new LinkedList();
		for(int i=0; i<a.length; i++)
		lista2.addNode(new Node(a[i]));
		return (OrderedSet270710)lista2;
	}
	
	public void swap(E[] a, int i, int j)
	{
		E tmp=a[i];
		a[i]=a[j];
		a[j]=tmp;
	}
	
	public void SelectionSort(E[] a)
	{
		int min;
		for(int i=0;i<a.length-1; i++)
		{
			min=i;
			
			for(int j=i+1; j<a.length; j++)
			{
				if(a[j].compareTo(a[min])<0)
					min=j;
			}
				swap(a, min, i);
		}
	}
L'errore č:
codice:
SS7_003292.java:202: SelectionSort(E[]) in Insieme<E> cannot be applied to (E[])
		SelectionSort(a);
Il tipo dovrebbe essere giusto...non capisco come mai non gli vada bene il parametro, dovrebbe essere lo stesso